diff options
-rw-r--r-- | AUTHORS | 42 | ||||
-rw-r--r-- | COPYING | 674 | ||||
-rw-r--r-- | ChangeLog | 2269 | ||||
-rw-r--r-- | INSTALL | 370 | ||||
-rw-r--r-- | Makefile.am | 21 | ||||
-rw-r--r-- | Makefile.in | 787 | ||||
-rw-r--r-- | NEWS | 139 | ||||
-rw-r--r-- | README | 82 | ||||
-rw-r--r-- | TODO | 20 | ||||
-rw-r--r-- | aclocal.m4 | 2068 | ||||
-rwxr-xr-x | autogen.sh | 48 | ||||
-rw-r--r-- | bin/Makefile.am | 11 | ||||
-rw-r--r-- | bin/Makefile.in | 499 | ||||
-rw-r--r-- | bin/soundconverter.py | 202 | ||||
-rwxr-xr-x | compile | 347 | ||||
-rwxr-xr-x | configure | 7182 | ||||
-rw-r--r-- | configure.in | 63 | ||||
-rw-r--r-- | data/Makefile.am | 39 | ||||
-rw-r--r-- | data/Makefile.in | 605 | ||||
-rw-r--r-- | data/soundconverter-logo.svg | 798 | ||||
-rw-r--r-- | data/soundconverter.appdata.xml | 19 | ||||
-rw-r--r-- | data/soundconverter.desktop | 122 | ||||
-rw-r--r-- | data/soundconverter.desktop.in | 13 | ||||
-rw-r--r-- | data/soundconverter.desktop.in.in | 13 | ||||
-rw-r--r-- | data/soundconverter.glade | 2625 | ||||
-rw-r--r-- | data/soundconverter.png | bin | 0 -> 2358 bytes | |||
-rw-r--r-- | data/soundconverter.svg | 790 | ||||
-rw-r--r-- | doc/Makefile.am | 4 | ||||
-rw-r--r-- | doc/Makefile.in | 502 | ||||
-rw-r--r-- | doc/soundconverter.1 | 49 | ||||
-rwxr-xr-x | install-sh | 527 | ||||
-rwxr-xr-x | missing | 215 | ||||
-rwxr-xr-x | mkinstalldirs | 162 | ||||
-rw-r--r-- | po/ChangeLog | 0 | ||||
-rw-r--r-- | po/Makefile.in.in | 222 | ||||
-rw-r--r-- | po/POTFILES.in | 19 | ||||
-rw-r--r-- | po/POTFILES.skip | 2 | ||||
-rw-r--r-- | po/ar.po | 537 | ||||
-rw-r--r-- | po/ast.po | 523 | ||||
-rw-r--r-- | po/bg.po | 531 | ||||
-rw-r--r-- | po/br.po | 544 | ||||
-rw-r--r-- | po/ca.po | 528 | ||||
-rw-r--r-- | po/cs.po | 544 | ||||
-rw-r--r-- | po/da.po | 530 | ||||
-rw-r--r-- | po/de.po | 566 | ||||
-rw-r--r-- | po/el.po | 531 | ||||
-rw-r--r-- | po/en_AU.po | 530 | ||||
-rw-r--r-- | po/en_GB.po | 542 | ||||
-rw-r--r-- | po/eo.po | 530 | ||||
-rw-r--r-- | po/es.po | 543 | ||||
-rw-r--r-- | po/et.po | 533 | ||||
-rw-r--r-- | po/eu.po | 543 | ||||
-rw-r--r-- | po/fa.po | 524 | ||||
-rw-r--r-- | po/fi.po | 533 | ||||
-rw-r--r-- | po/fr.po | 546 | ||||
-rw-r--r-- | po/fr_CA.po | 544 | ||||
-rw-r--r-- | po/gl.po | 544 | ||||
-rw-r--r-- | po/he.po | 530 | ||||
-rw-r--r-- | po/hi.po | 528 | ||||
-rw-r--r-- | po/hu.po | 535 | ||||
-rw-r--r-- | po/it.po | 541 | ||||
-rw-r--r-- | po/ja.po | 530 | ||||
-rw-r--r-- | po/ko.po | 523 | ||||
-rw-r--r-- | po/lv.po | 542 | ||||
-rw-r--r-- | po/ml.po | 524 | ||||
-rw-r--r-- | po/ms.po | 543 | ||||
-rw-r--r-- | po/nl.po | 553 | ||||
-rw-r--r-- | po/pl.po | 545 | ||||
-rw-r--r-- | po/pt.po | 530 | ||||
-rw-r--r-- | po/pt_BR.po | 546 | ||||
-rw-r--r-- | po/ru.po | 541 | ||||
-rw-r--r-- | po/sk.po | 530 | ||||
-rw-r--r-- | po/sl.po | 535 | ||||
-rw-r--r-- | po/sr.po | 543 | ||||
-rw-r--r-- | po/sr@Latn.po | 528 | ||||
-rw-r--r-- | po/sr@latin.po | 532 | ||||
-rw-r--r-- | po/sv.po | 534 | ||||
-rw-r--r-- | po/te.po | 528 | ||||
-rw-r--r-- | po/tr.po | 532 | ||||
-rw-r--r-- | po/uk.po | 544 | ||||
-rw-r--r-- | po/vi.po | 530 | ||||
-rw-r--r-- | po/zh_CN.po | 533 | ||||
-rw-r--r-- | po/zh_TW.po | 539 | ||||
-rwxr-xr-x | py-compile | 170 | ||||
-rw-r--r-- | soundconverter/Makefile.am | 27 | ||||
-rw-r--r-- | soundconverter/Makefile.in | 527 | ||||
-rw-r--r-- | soundconverter/__init__.py | 23 | ||||
-rw-r--r-- | soundconverter/batch.py | 130 | ||||
-rw-r--r-- | soundconverter/error.py | 44 | ||||
-rw-r--r-- | soundconverter/fileoperations.py | 154 | ||||
-rw-r--r-- | soundconverter/gconfstore.py | 59 | ||||
-rw-r--r-- | soundconverter/gstreamer.py | 823 | ||||
-rw-r--r-- | soundconverter/messagearea.py | 219 | ||||
-rw-r--r-- | soundconverter/namegenerator.py | 110 | ||||
-rw-r--r-- | soundconverter/notify.py | 44 | ||||
-rw-r--r-- | soundconverter/queue.py | 133 | ||||
-rw-r--r-- | soundconverter/settings.py | 131 | ||||
-rw-r--r-- | soundconverter/soundfile.py | 62 | ||||
-rw-r--r-- | soundconverter/task.py | 93 | ||||
-rw-r--r-- | soundconverter/ui.py | 1509 | ||||
-rw-r--r-- | soundconverter/utils.py | 42 |
101 files changed, 50515 insertions, 0 deletions
@@ -0,0 +1,42 @@ +Maintainer: + Gautier Portet <gautier soundconverter.org> + +Previous maintainer: + Lars Wirzenius <liw iki.fi> + +Translators: + Guillaume Bedot <littletux zarb.org> (French) + Dominik Zabłotny <dominz wp.pl>, Piotr Zaryk <pzaryk aviary.pl> (Polish) + Tomasz Sałaciński <tsalacinski gmail.com> (Polish) + Jonh Wendell <wendell bani.com.br> (Portuguese Brazilian) + Marc E. <m4rccd yahoo.com> (Spanish) + Daniel Nylander <po danielnylander se> (Swedish) + Alexandre Prokoudine <alexandre.prokoudine gmail.com> (Russian) + Kamil Páral (Czech) + Stefano Luciani (Italian) + Uwe Bugla <uwe.bugla@gmx.de> (German) + Miloš Popović <gpopac gmail.com> (Serbian) + Nizar Kerkeni <nizar.kerkeni gmail.com>(Arabic) + amenudo (Basque) + rainofchaos (Simplified Chinese) + Pavol Klačanský (Slovak) + Moshe Basanchig <moshe.basanchig gmail.com> + + https://translations.launchpad.net/soundconverter/trunk/+pots/soundconverter + +Debian package: + Lars Wirzenius <liw iki.fi> + William Grant <william.grant ubuntu.org.au> + Uwe Bugla <uwe.bugla gmx.de> + +Gentoo ebuild: + Hanno Böck <mail hboeck.de> + +Better FileAddChooser: + Regis FLORET <r.floret laposte.net> + +Custom filename patterns: + Adolfo González Blázquez <agblazquez telefonica.net> + +Icons + Logo: + Julien Gascard <neoara gmail.com> + Tango Project @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + 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. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 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 <http://www.gnu.org/licenses/>. + +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: + + <program> Copyright (C) <year> <name of author> + 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 +<http://www.gnu.org/licenses/>. + + 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 +<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..c5e1833 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,2269 @@ +2014-04-25 kassoulet <gautier@soundconverter.org> + + * configure.in: Release 2.1.3 + +2014-04-24 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Add 10ms tolerance to audiorate. This is needed because recent gstreamer produces awful noise in the + output when using audiorate. gstreamer 0.10.26+ is required closes lp:1310576, thanks Allan. + +2014-04-17 kassoulet <gautier@soundconverter.org> + + * ChangeLog: Add message in ChangeLog file in order to clarify how + it's made. + +2014-04-17 kassoulet <gautier@soundconverter.org> + + * tests/unittests.py: Add a test with % in filename. + +2014-04-17 kassoulet <gautier@soundconverter.org> + + * soundconverter/namegenerator.py: Fix quoting. + +2014-04-17 kassoulet <gautier@soundconverter.org> + + * tests/unittests.py: Update unittests. + +2014-04-11 kassoulet <gautier@soundconverter.org> + + * soundconverter/batch.py, soundconverter/gstreamer.py: Remove + unused code. + +2014-04-11 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py, soundconverter/ui.py: Create + temporary files on destination (root) folder. Closes #1301095, + thanks Lem. + +2014-03-18 kassoulet <gautier@soundconverter.org> + + * soundconverter/fileoperations.py: Fix the strange + AccessDeniedError by expandind the checked section. Fix lp:1293517. + Thanks Bill & Michael. + +2014-01-21 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: add gtk builder translation domain, so all + strings are translated. Closes #1255287, Thanks Peter. + +2014-01-03 Gautier Portet <kassoulet@gmail.com> + + * : Merge pull request #8 from padawin/set-converter-error set self.error in the on_error event handler + +2013-12-31 Ghislain Rodrigues <git@ghislain-rodrigues.fr> + + * soundconverter/gstreamer.py: set self.error in the on_error event + handler + +2013-12-31 Ghislain Rodrigues <git@ghislain-rodrigues.fr> + + * data/soundconverter.glade: CTRL+Q shortcut added to quit + soundconverter + +2013-12-25 Gautier Portet <kassoulet@gmail.com> + + * : Merge pull request #7 from pawelulita/master Removing messy characters messed up additional directories created + after conversion. + +2013-12-24 Pawel Ulita <ulitapawel@gmail.com> + + * data/soundconverter.glade, soundconverter/namegenerator.py: + Replacing messy characters replaced also "/". + +2013-11-17 kassoulet <gautier@soundconverter.org> + + * : commit 760295ab2ed0133634c01ea4188cdcaa80e53b3e Author: + kassoulet <gautier@soundconverter.org> Date: Sun Nov 17 21:47:21 + 2013 +0100 + +2013-11-17 kassoulet <gautier@soundconverter.org> + + * soundconverter/task.py: remove debug print. + +2013-11-17 kassoulet <gautier@soundconverter.org> + + * data/soundconverter.appdata.xml: update appdata screenshot to wide + screen. + +2013-11-14 Gautier Portet <kassoulet@gmail.com> + + * : Merge pull request #6 from pawelulita/master Bugfix #584603 (Filename processing turns good chars to _) + +2013-11-12 Pawel Ulita <ulitapawel@gmail.com> + + * data/soundconverter.glade, soundconverter/namegenerator.py: + "Replace all messy characters" uses to blacklist and removes only + several reserved characters (bugfix #584603). + +2013-11-06 kassoulet <gautier@soundconverter.org> + + * data/soundconverter.appdata.xml: Add screenshot dimensions in + appdata.xml + +2013-11-04 kassoulet <gautier@soundconverter.org> + + * : commit 8b0a42850cf5328e1991cfb0bfda1ee0ac728798 Author: + kassoulet <gautier@soundconverter.org> Date: Mon Nov 4 20:48:34 + 2013 +0100 + +2013-11-03 Gautier Portet <kassoulet@gmail.com> + + * : Merge pull request #5 from pawelulita/master Bugfix #1240770 + +2013-10-08 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Make use of vfs_unlink() + +2013-10-08 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Store error message on GStreamer + error, so we keep a track on it. Closes lp:1205828, thanks Ivo! + +2013-10-08 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Reset codec install cancellation + after conversion. Closes lp:1213244, thanks Michael. + +2013-09-19 kassoulet <gautier@soundconverter.org> + + * data/soundconverter.desktop.in.in: Remove Video from .desktop + categories. Thanks Richard. lp:1227528. + +2013-09-19 kassoulet <gautier@soundconverter.org> + + * data/Makefile.am, data/soundconverter.appdata.xml: Add AppData + file. Thanks Richard. lp:1227535. + +2013-09-03 kassoulet <gautier@soundconverter.org> + + * : commit 1aa0061e86d0eead296b928b7ab32a988403d5b2 Author: + kassoulet <gautier@soundconverter.org> Date: Tue Sep 3 15:30:55 + 2013 +0200 + +2013-08-01 Gautier Portet <kassoulet@gmail.com> + + * : Merge pull request #4 from RyDroid/patch-1 Py3 print and some minor changes + +2013-08-01 RyDroid <rydroid_dev@yahoo.com> + + * soundconverter/task.py: Update task.py + +2013-08-01 RyDroid <rydroid_dev@yahoo.com> + + * soundconverter/gstreamer.py: Update gstreamer.py + +2013-08-01 RyDroid <rydroid_dev@yahoo.com> + + * soundconverter/namegenerator.py: Update namegenerator.py + +2013-08-01 RyDroid <rydroid_dev@yahoo.com> + + * soundconverter/utils.py: Update utils.py Py3 print + +2013-08-01 RyDroid <rydroid_dev@yahoo.com> + + * soundconverter/gstreamer.py: Update gstreamer.py Py3 print + +2013-08-01 RyDroid <rydroid_dev@yahoo.com> + + * tests/unittests.py: Update unittests.py + +2013-08-01 RyDroid <rydroid_dev@yahoo.com> + + * data/soundconverter-logo.svg: Update soundconverter-logo.svg + +2013-08-01 RyDroid <rydroid_dev@yahoo.com> + + * data/soundconverter-logo.svg: Update soundconverter-logo.svg + +2013-08-01 RyDroid <rydroid_dev@yahoo.com> + + * soundconverter/batch.py: Update batch.py Py3 print + +2013-08-01 Gautier Portet <kassoulet@gmail.com> + + * : Merge pull request #3 from RyDroid/patch-2 Update soundconverter.py (Py3 print) + +2013-08-01 Gautier Portet <kassoulet@gmail.com> + + * : Merge pull request #2 from RyDroid/patch-1 French translation corrections + +2013-07-30 RyDroid <rydroid_dev@yahoo.com> + + * po/fr.po: Update fr.po + +2013-07-30 RyDroid <rydroid_dev@yahoo.com> + + * po/fr.po: Update fr.po Some corrections + +2013-04-23 kassoulet <gautier@soundconverter.org> + + * configure.in: release 2.1.1 + +2013-04-22 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Use new mp3 encoder instead of + deprecated one. Closes lp:1075951 + +2013-04-22 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Fix error when conversion has errors. + +2013-04-16 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py, soundconverter/task.py: New + emit_async() so 'finished' signals will not be run before the real + end of the task. + +2013-04-16 kassoulet <gautier@soundconverter.org> + + * soundconverter/fileoperations.py: vfs_rename returns an error. + +2013-04-16 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Skip renaming if errors. + +2013-04-16 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Change plugin installation. - make sure pipeline restarts after installation. - wait while installation is pending. - if user cancel installation, don't even start the following ones. + +2013-04-16 kassoulet <gautier@soundconverter.org> + + * soundconverter/queue.py: Assure TaskQueue has the right defaults + when starting and finishing. + +2013-04-16 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Revert patch lp:1121297 since it breaks + error reporting. reset_counters() was called before error + reporting. + +2013-04-01 kassoulet <gautier@soundconverter.org> + + * configure.in: release 2.1.0 + +2013-03-31 kassoulet <gautier@soundconverter.org> + + * soundconverter/fileoperations.py: Display error when file renaming + fails. + +2013-03-28 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py, soundconverter/queue.py, + soundconverter/ui.py: Correctly handle pause. + +2013-03-27 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Make sure progress calback desactivate + itself when conversion is done. + +2013-03-26 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py, soundconverter/ui.py: Remove unused + tags stuff. + +2013-03-26 kassoulet <gautier@soundconverter.org> + + * soundconverter/fileoperations.py: Add comments. + +2013-03-26 kassoulet <gautier@soundconverter.org> + + * soundconverter/fileoperations.py, soundconverter/gstreamer.py, + soundconverter/namegenerator.py, soundconverter/ui.py: Stop using + TagReader. Files are renamed after conversion, and written in + temporary files. + +2013-03-05 kassoulet <gautier@soundconverter.org> + + * soundconverter/queue.py: Protect task_finished. task_finished + could be called after queue.abort() was called, as mentionned in + lp:1133322. + +2013-03-05 kassoulet <gautier@soundconverter.org> + + * soundconverter/queue.py: Fix the number of tasks in queue in log. + Thanks Michael, closes lp:1145088. + +2013-03-02 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Reassign row numbers to soundfiles after + removing. Applied patch from Michael. Closes lp:1139620 + +2013-02-26 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py, soundconverter/queue.py, + soundconverter/task.py: Add an "aborted" signal to handle + normal/aborted task end. Hopefully, this is clearer... + +2013-02-26 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py, soundconverter/task.py: Remove unused + Task.paused. + +2013-02-26 kassoulet <gautier@soundconverter.org> + + * soundconverter/error.py, soundconverter/gstreamer.py, + soundconverter/task.py, soundconverter/ui.py: Remove unused + Exception handling. + +2013-02-26 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Finally make use of query_position to + determine position in the stream. We used a buffer probe because + query_position was not working propertly a loooong time ago. But + querying position will be hugely faster than a callback called for + each buffer decoded... + +2013-02-26 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Oops. Fix previous commit. + +2013-02-26 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Force per-file progress to one after + completing task, since Vorbis decoding doesn't update its + progression. Part of lp:1132916, thanks Michael. + +2013-02-25 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Reset per-file progress bars when starting + conversion, as they stayed at the same value after canceling + conversion. Closes lp:1132936, thanks Michael. + +2013-02-20 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Fix commit e4b05c. read_tags must not be + recursive. + +2013-02-19 kassoulet <gautier@soundconverter.org> + + * bin/soundconverter.py, soundconverter/batch.py, + soundconverter/gstreamer.py: Unquote filenames when displaying + progress in batch mode. + +2013-02-19 kassoulet <gautier@soundconverter.org> + + * soundconverter/fileoperations.py: Fix crash when using filenames + with colons in batch mode. Closes lp:1128080, Thanks Michael. + +2013-02-15 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Fix files removing. Patch from Michael. + Closes lp:1123519, thanks Michael. + +2013-02-15 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Remove warning when dropping files. Patch + from Michael. Closes lp:1124015, thanks Michael. + +2013-02-15 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Disable GNOME Audio Profile output if no + profiles are available. Closes lp:1123957, thanks Michael. + +2013-02-12 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py, soundconverter/ui.py: Remove + ConverterQueue* exceptions, and replace by an explicit error return. These exceptions were thrown by ConverterQueue.add() which was + potentially called by an idle callback, so exceptions were not + propagated. We use now an explicit error return, and a new member of + SoundConverterWindow to take care of errors. Closes lp:1121192, thanks Michael. + +2013-02-10 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Apply patch from Michael. Empty task queue + when aborting. Closes lp:1121297, thanks Michael. + +2013-02-10 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Change order of audioconvert and + audioresample in pipeline. As Michael noticed, this is now the + right order. Closes lp:1121132, thanks Michael. + +2013-02-10 kassoulet <gautier@soundconverter.org> + + * bin/soundconverter.py: Better message when a required python + module is missing. + +2013-02-10 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Apply patch from Michael fixing + TypeError when calling show_error. Closes lp:1121164, thanks + Michael. + +2013-02-05 kassoulet <gautier@soundconverter.org> + + * bin/soundconverter.py: Enable translation before load glade file. + Fixes lp:1104988. + +2013-02-05 kassoulet <gautier@soundconverter.org> + + * po/ar.po, po/bg.po, po/br.po, po/ca.po, po/cs.po, po/da.po, + po/de.po, po/el.po, po/en_AU.po, po/en_GB.po, po/eo.po, po/es.po, + po/et.po, po/eu.po, po/fa.po, po/fi.po, po/fr.po, po/fr_CA.po, + po/gl.po, po/he.po, po/hi.po, po/hu.po, po/it.po, po/ja.po, + po/ml.po, po/ms.po, po/nl.po, po/pl.po, po/pt.po, po/pt_BR.po, + po/ru.po, po/sk.po, po/sl.po, po/soundconverter.pot, po/sr.po, + po/sr@Latn.po, po/sr@latin.po, po/sv.po, po/te.po, po/tr.po, + po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po: Update po + +2013-02-05 kassoulet <gautier@soundconverter.org> + + * po/ar.po, po/bg.po, po/br.po, po/ca.po, po/cs.po, po/da.po, + po/de.po, po/el.po, po/en_AU.po, po/en_GB.po, po/eo.po, po/es.po, + po/et.po, po/eu.po, po/fa.po, po/fi.po, po/fr.po, po/fr_CA.po, + po/gl.po, po/he.po, po/hi.po, po/hu.po, po/it.po, po/ja.po, + po/ml.po, po/ms.po, po/nl.po, po/pl.po, po/pt.po, po/pt_BR.po, + po/ru.po, po/sk.po, po/sl.po, po/soundconverter.pot, po/sr.po, + po/sr@Latn.po, po/sr@latin.po, po/sv.po, po/te.po, po/tr.po, + po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po: Again... + +2013-02-05 kassoulet <gautier@soundconverter.org> + + * po/ar.po, po/bg.po, po/br.po, po/ca.po, po/cs.po, po/da.po, + po/de.po, po/el.po, po/en_AU.po, po/en_GB.po, po/eo.po, po/es.po, + po/et.po, po/eu.po, po/fa.po, po/fi.po, po/fr.po, po/fr_CA.po, + po/gl.po, po/he.po, po/hi.po, po/hu.po, po/it.po, po/ja.po, + po/ml.po, po/ms.po, po/nl.po, po/pl.po, po/pt.po, po/pt_BR.po, + po/ru.po, po/sk.po, po/sl.po, po/sr.po, po/sr@Latn.po, + po/sr@latin.po, po/sv.po, po/te.po, po/tr.po, po/uk.po, po/vi.po, + po/zh_CN.po, po/zh_TW.po: Update translations ++ + +2013-02-05 kassoulet <gautier@soundconverter.org> + + * po/ar.po, po/ast.po, po/bg.po, po/br.po, po/ca.po, po/cs.po, + po/da.po, po/de.po, po/el.po, po/en_AU.po, po/en_GB.po, po/eo.po, + po/es.po, po/et.po, po/eu.po, po/fa.po, po/fi.po, po/fr.po, + po/fr_CA.po, po/gl.po, po/he.po, po/hi.po, po/hu.po, po/it.po, + po/ja.po, po/ko.po, po/lv.po, po/ml.po, po/ms.po, po/nl.po, + po/pl.po, po/pt.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sl.po, + po/soundconverter.pot, po/sr.po, po/sr@Latn.po, po/sr@latin.po, + po/sv.po, po/te.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, + po/zh_TW.po: Update translations. + +2012-12-10 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Fix the fix. When URIs have different + scheme. (Even if this not supported by SoundConverter...) + +2012-12-10 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Fix the extraction of a base folder when the + files added are in / folder. Traditionnals python functions can't + be used since they remove a part of the uri scheme. Close + lp:1087901, thanks ideasman42 and Michael. + +2012-12-03 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Apply patch from Michael Schwendt. Close + lp:1063724 (File chooser resets folder to home) + +2012-12-03 kassoulet <gautier@soundconverter.org> + + * soundconverter/error.py, soundconverter/ui.py: Apply patch from + Michael Schwendt, closing lp:1077880 (No space left on device) + +2012-10-07 kassoulet <gautier@soundconverter.org> + + * NEWS, po/fr.po: version 2.0.4 + +2012-10-07 kassoulet <gautier@soundconverter.org> + + * po/ar.po, po/ast.po, po/bg.po, po/br.po, po/ca.po, po/cs.po, + po/da.po, po/de.po, po/el.po, po/en_AU.po, po/en_GB.po, po/eo.po, + po/es.po, po/et.po, po/eu.po, po/fa.po, po/fi.po, po/fr.po, + po/fr_CA.po, po/gl.po, po/he.po, po/hi.po, po/hu.po, po/it.po, + po/ja.po, po/ko.po, po/lv.po, po/ml.po, po/ms.po, po/nl.po, + po/pl.po, po/pt.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sl.po, + po/soundconverter.pot, po/sr.po, po/sr@Latn.po, po/sr@latin.po, + po/sv.po, po/te.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, + po/zh_TW.po: Update translations. + +2012-10-06 kassoulet <gautier@soundconverter.org> + + * bin/soundconverter.py: Finally fix the setlocale problem. + +2012-10-06 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Fix typo with opus-bitrate setting. + +2012-10-06 kassoulet <gautier@soundconverter.org> + + * configure.in: upgrade configure.in + +2012-10-06 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Add Opus quality settings + +2012-10-04 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Support for Opus codec. + +2012-10-04 kassoulet <gautier@soundconverter.org> + + * data/soundconverter.glade, soundconverter/gstreamer.py, + soundconverter/ui.py: UI additions for opus support. + +2012-07-30 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Remove profile setting from faac + encoding, since it seems that some gstreamer instalations don't + support this. Closes lp:954555, thanks Patrick and zebul666. + +2012-06-29 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Fix crash with folderchooser. Closes + fedora:836338, thanks Michael. + +2012-05-20 kassoulet <gautier@soundconverter.org> + + * bin/soundconverter.py: Handle exceptions with setlocale. Closes + lp:1001347, thanks Edward. + +2012-05-13 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Use parent folder as base path when only one + folder is passed to add_uris. Closes lp:998371, thank Bastian. + +2012-05-10 kassoulet <gautier@soundconverter.org> + + * bin/soundconverter.py, doc/soundconverter.1, + soundconverter/gstreamer.py, soundconverter/ui.py: Fix arguments + parsing so -m and -s work. Closes lp:988262, thanks Michael. Add missing default encoding parameters so batch mode stops + crashing. Closes lp:995862, thanks Michael. + +2012-04-29 kassoulet <gautier@soundconverter.org> + + * bin/soundconverter.py, soundconverter/gstreamer.py, + soundconverter/ui.py: Finalize batch mode. No more message dialogs + in gtreamer.py + notification failback. + +2012-04-27 kassoulet <gautier@soundconverter.org> + + * bin/soundconverter.py: Fix batch mode failback. + +2012-04-27 kassoulet <gautier@soundconverter.org> + + * bin/soundconverter.py, soundconverter/Makefile.am, + soundconverter/batch.py, soundconverter/gstreamer.py: WIP batch mode + fix. + +2012-04-27 kassoulet <gautier@soundconverter.org> + + * bin/soundconverter.py: change error message when importing a not + supported version version of pygtk. + +2012-04-23 kassoulet <gautier@soundconverter.org> + + * NEWS: Version 2.0.3 + +2012-04-19 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Increase lowpass frequency to 20KHz + when encoding to high quality mp3. Fix lp:881413, thanks Michael. + +2012-04-18 kassoulet <gautier@soundconverter.org> + + * po/Makefile.in.in, po/ar.po, po/ast.po, po/bg.po, po/br.po, + po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/en_AU.po, + po/en_GB.po, po/eo.po, po/es.po, po/et.po, po/eu.po, po/fa.po, + po/fi.po, po/fr.po, po/fr_CA.po, po/gl.po, po/he.po, po/hi.po, + po/hu.po, po/it.po, po/ja.po, po/ko.po, po/lv.po, po/ml.po, + po/ms.po, po/nl.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ru.po, + po/sk.po, po/sl.po, po/soundconverter.pot, po/sr.po, po/sr@Latn.po, + po/sr@latin.po, po/sv.po, po/te.po, po/tr.po, po/uk.po, po/vi.po, + po/zh_CN.po, po/zh_TW.po: Update translations. + +2012-04-18 kassoulet <gautier@soundconverter.org> + + * soundconverter/namegenerator.py: Use the original filename as a + title by default, so filename generation works even if there are no + tags. fix lp:984790 + +2012-04-18 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: pulse_progress can be at 0, disabling + progress while it was in fact used. + +2012-04-03 kassoulet <gautier@soundconverter.org> + + * soundconverter/namegenerator.py: Disable common root handling when + we are creating folder using tags. (thanks Eric, closes #972158) + +2012-03-19 kassoulet <gautier@soundconverter.org> + + * configure.in, soundconverter/gstreamer.py, soundconverter/ui.py: + Fix row progress. + +2012-02-27 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Fix progress-related blocking by speeding up + the progress update. Closes #940648, thanks Ben. + +2012-02-22 kassoulet <gautier@soundconverter.org> + + * INSTALL: Remove INSTALL file as it's generated. + +2012-02-22 kassoulet <gautier@soundconverter.org> + + * configure.in, po/fr_CA.po: Add canadian french. + +2012-02-21 kassoulet <gautier@soundconverter.org> + + * bin/soundconverter.py, data/soundconverter.desktop.in.in, + data/soundconverter.glade, soundconverter/gstreamer.py: Fix many + English spelling errors. (Thanks Alain-Olivier) + +2012-01-30 kassoulet <gautier@soundconverter.org> + + * NEWS, configure.in: readying 2.0.1 + +2012-01-30 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Clamp progress so we don't get + hammered by gtk warnings :) + +2012-01-30 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py, soundconverter/ui.py: Oops, + gnome-audio-profiles are broken, fix that! + +2012-01-30 kassoulet <gautier@soundconverter.org> + + * data/soundconverter.desktop.in.in: Add another FLAC entry to the + supported mimetypes since its the one used in recent distribs. + +2012-01-30 Gautier Portet <kassoulet gmail.com> + + * : Merge pull request #1 from schuay/master Fix set syntax in gstreamer.py + +2012-01-27 kassoulet <gautier@soundconverter.org> + + * NEWS, data/soundconverter.glade: Fix size of our custom menu + icons. thanks Johan. + +2012-01-26 kassoulet <gautier@soundconverter.org> + + * NEWS: Update NEWS. + +2012-01-26 kassoulet <gautier@soundconverter.org> + + * configure.in: 2.0! + +2012-01-26 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Fix progress display. Pulse and Fraction + displays should be nicer now. Display progress when reading tags. + +2012-01-26 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Fix crash when reading tags. + TagReader objects were destroyed before receiving callbacks, cauing + a huge mess. + +2012-01-25 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: get_current_folder() sometimes return None, + handle it. Closes #921515, thanks Danilo & Michael. + +2012-01-18 kassoulet <gautier@soundconverter.org> + + * configure.in, po/ar.po, po/ast.po, po/bg.po, po/br.po, po/ca.po, + po/cs.po, po/da.po, po/de.po, po/el.po, po/en_AU.po, po/en_GB.po, + po/eo.po, po/es.po, po/et.po, po/eu.po, po/fa.po, po/fi.po, + po/fr.po, po/gl.po, po/he.po, po/hi.po, po/hu.po, po/it.po, + po/ja.po, po/lv.po, po/ml.po, po/ms.po, po/nl.po, po/pl.po, + po/pt.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sl.po, + po/soundconverter.pot, po/sr.po, po/sr@Latn.po, po/sr@latin.po, + po/sv.po, po/te.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, + po/zh_TW.po: Update translations. + +2012-01-16 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py, soundconverter/settings.py: Add a + filename blacklist, to exclude .iso files. closes #883974, thanks + Anton. + +2012-01-16 kassoulet <gautier@soundconverter.org> + + * data/soundconverter.glade: Fix buttons orientation in add_files. + +2012-01-12 kassoulet <gautier@soundconverter.org> + + * NEWS, configure.in: 2.0-rc5 + +2012-01-12 kassoulet <gautier@soundconverter.org> + + * soundconverter/namegenerator.py: Translate default + album/artist/title names. Closes #910522. + +2012-01-12 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Don't try to display images in log :) + +2012-01-12 kassoulet <gautier@soundconverter.org> + + * po/ar.po, po/bg.po, po/br.po, po/ca.po, po/cs.po, po/da.po, + po/de.po, po/el.po, po/en_AU.po, po/en_GB.po, po/eo.po, po/es.po, + po/et.po, po/eu.po, po/fa.po, po/fi.po, po/fr.po, po/gl.po, + po/he.po, po/hi.po, po/hu.po, po/it.po, po/ja.po, po/ml.po, + po/ms.po, po/nl.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ru.po, + po/sk.po, po/sl.po, po/soundconverter.pot, po/sr.po, po/sr@Latn.po, + po/sr@latin.po, po/sv.po, po/te.po, po/tr.po, po/uk.po, po/vi.po, + po/zh_CN.po: Update po. Update fr.po. + +2012-01-12 kassoulet <gautier@soundconverter.org> + + * data/soundconverter.glade: Remove horizontal scroller on filelist + since it should nerver be shown. + +2012-01-05 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py, soundconverter/ui.py: Woops, patched + the wrong (duplicated) code. So: Check validity of Gstreamer Audio + Profiles. Fix commit d5b5046, closes fedora #744596. + +2012-01-04 kassoulet <gautier@soundconverter.org> + + * po/soundconverter.pot: Update pot file. + +2012-01-04 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py, soundconverter/ui.py: Fix problem + with Mime type combobox when any encoder is disabled. Closes + #911759 + +2012-01-04 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Remove Test Code. + +2012-01-04 kassoulet <gautier@soundconverter.org> + + * NEWS, configure.in: Readying rc4. + +2012-01-04 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Fix audio profile combobox. + +2012-01-03 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Use clear() to clear filelist model and set. + Now clearing is instant. + +2012-01-03 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Remove unused tagreaders. + +2012-01-03 kassoulet <gautier@soundconverter.org> + + * README, bin/soundconverter.py, data/soundconverter.glade, + soundconverter/__init__.py, soundconverter/error.py, + soundconverter/fileoperations.py, soundconverter/gconfstore.py, + soundconverter/gstreamer.py, soundconverter/messagearea.py, + soundconverter/namegenerator.py, soundconverter/notify.py, + soundconverter/queue.py, soundconverter/settings.py, + soundconverter/soundfile.py, soundconverter/task.py, + soundconverter/ui.py, soundconverter/utils.py: year++ + +2012-01-03 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: FileList filling is now defered. We only add + to the ListStore when we are done scanning files, and we disconnect + the view from the model since it's way faster. + +2012-01-03 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Add experimental code. + +2012-01-03 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Reset selected audio profile if not a valid + one. Close #814015 + +2011-12-31 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Check validity of Gstreamer Audio + Profiles. Closes Fedora #744596 + +2011-12-23 kassoulet <gautier@soundconverter.org> + + * data/soundconverter.glade, soundconverter/ui.py: Fix resample + combobox. + +2011-12-14 kassoulet <gautier@soundconverter.org> + + * Makefile.am, NEWS, configure.in, data/Makefile.am, + data/soundconverter.glade, data/soundconverter.gladep, + soundconverter/gstreamer.py, soundconverter/ui.py: Readying 2.0-rc2 + +2011-12-12 kassoulet <gautier@soundconverter.org> + + * data/soundconverter.glade, soundconverter/gstreamer.py, + soundconverter/ui.py: Fix GnomeAudioProfile by adding a resample + element. Disable reasmple&mono while in GAP mode since they are + bypassed by profiles. + +2011-12-12 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Fix wav encoding. Wav encoding to + 8bit depth was broken. + +2011-12-06 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Remove partial file when installing + codecs. + +2011-12-06 kassoulet <gautier@soundconverter.org> + + * Makefile.am, soundconverter/gstreamer.py: Fix progress display + after installing codecs. + +2011-11-28 kassoulet <gautier@soundconverter.org> + + * Makefile.am: Merge Makefile.am + +2011-11-28 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py, tests/unittests.py: Remove unused + variable and removes tabs from unittests. + +2011-11-28 kassoulet <gautier@soundconverter.org> + + * bin/soundconverter.py, configure.in, soundconverter/gstreamer.py, + soundconverter/ui.py: Remove unused variables, readying 2.0 version. + +2011-11-28 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Fix progress display when displaying + overwrite? dialog. Make progress pulsate when an "overwrite files?" dialog is + displayed, and make sure progress is showing up when overwriting. + +2011-11-23 kassoulet <gautier@soundconverter.org> + + * data/soundconverter.glade: Yes yes yes, again... + +2011-11-23 kassoulet <gautier@soundconverter.org> + + * data/soundconverter.glade, po/ar.po, po/bg.po, po/br.po, + po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/en_AU.po, + po/en_GB.po, po/eo.po, po/es.po, po/et.po, po/eu.po, po/fa.po, + po/fi.po, po/fr.po, po/gl.po, po/he.po, po/hi.po, po/hu.po, + po/it.po, po/ja.po, po/ml.po, po/ms.po, po/nl.po, po/pl.po, + po/pt.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sl.po, + po/soundconverter.pot, po/sr.po, po/sr@Latn.po, po/sr@latin.po, + po/sv.po, po/te.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po: Intl + related fixes in glade file. + +2011-11-23 kassoulet <gautier@soundconverter.org> + + * po/ar.po, po/bg.po, po/br.po, po/ca.po, po/cs.po, po/da.po, + po/de.po, po/el.po, po/en_AU.po, po/en_GB.po, po/eo.po, po/es.po, + po/et.po, po/eu.po, po/fa.po, po/fi.po, po/fr.po, po/gl.po, + po/he.po, po/hi.po, po/hu.po, po/it.po, po/ja.po, po/ml.po, + po/ms.po, po/nl.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ru.po, + po/sk.po, po/sl.po, po/soundconverter.pot, po/sr.po, po/sr@Latn.po, + po/sr@latin.po, po/sv.po, po/te.po, po/tr.po, po/uk.po, po/vi.po, + po/zh_CN.po: po update. + +2011-11-23 kassoulet <gautier@soundconverter.org> + + * Makefile.am, bin/Makefile.am, configure.in: Build update. autoupdate. xz dist archive. Bump version to 1.6.0-rc1 + +2011-11-23 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py, soundconverter/namegenerator.py, + soundconverter/soundfile.py, soundconverter/ui.py: More cleaning. + +2011-11-23 kassoulet <gautier@soundconverter.org> + + * AUTHORS, data/soundconverter.glade, data/soundconverter.spec, + soundconverter/gstreamer.py: Cosmetic changes. + +2011-11-21 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Add an audiorate element to fix + snapping in vorbis output. Fix #508767 Thanks Tim-Philipp. + +2011-11-21 kassoulet <gautier@soundconverter.org> + + * : commit 60febf809d4a48faead9f0bb730fcecce8b1fcb4 Author: gautier + <gautier.portet@vegatechnologies.fr> Date: Mon Nov 21 13:51:06 + 2011 +0100 + +2011-11-21 kassoulet <gautier@soundconverter.org> + + * TODO: Remove TODO. + +2011-11-21 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Useless ? + +2011-11-21 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Ensire 0.0 < progress < 1.0. + +2011-11-21 kassoulet <gautier@soundconverter.org> + + * Makefile.am, soundconverter/gstreamer.py, + soundconverter/settings.py, soundconverter/soundfile.py, + soundconverter/ui.py: Update. + +2011-11-16 kassoulet <gautier@soundconverter.org> + + * data/soundconverter.glade, soundconverter/task.py, + soundconverter/ui.py: Clear and fix the progress and pause code. + +2011-11-16 kassoulet <gautier@soundconverter.org> + + * soundconverter/notify.py: Fix import error in notify. + +2011-11-16 kassoulet <gautier@soundconverter.org> + + * soundconverter/notify.py: Fix unhandled exception with + notifications. + +2011-11-16 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Remove glithc with progressbar when starting + conversion. + +2011-11-16 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py, soundconverter/ui.py: Simplify + window.set_progress(). + +2011-11-16 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py, soundconverter/ui.py: Fix broken + progress when tagread is active. + +2011-11-14 kassoulet <gautier@soundconverter.org> + + * soundconverter/namegenerator.py: Add a function in name generator + to determine if we have to read tags given the destination filename + pattern. + +2011-11-14 kassoulet <gautier@soundconverter.org> + + * soundconverter/messagearea.py: Update message area. Still unused. + +2011-11-14 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py: Lame cutoff frenquency testing. + +2011-11-07 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Convert the FileList already-loaded-files + cache from dict to set. And only add files to it if we indentified a + media file. + +2011-10-27 kassoulet <gautier@soundconverter.org> + + * soundconverter/gstreamer.py, soundconverter/ui.py: Progress is not + handled by UI. Some minor style fixes. + +2011-10-27 kassoulet <gautier@soundconverter.org> + + * autogen.sh: Stop configure to be called two times. + +2011-10-25 kassoulet <gautier@soundconverter.org> + + * ChangeLog, soundconverter/namegenerator.py, + soundconverter/settings.py, soundconverter/ui.py: Add {Ext} to + custom filename pattern. Filled by target extension. + +2011-10-11 kassoulet <gautier@soundconverter.org> + + * soundconverter/ui.py: Clean and fix previous commit. Add Unity + launcher progressbar. + +2011-10-11 kassoulet <gautier@soundconverter.org> + + * Make skiptags mode permanent and clear code. + +2011-10-25 Gautier Portet <gautier soundconverter org> + * Add {Ext} to custom filename pattern. Filled by target extension. + (Thanks C.Breuer) + +2010-11-20 Gautier Portet <gautier soundconverter org> + * src/soundconverter.py: Make sure all child dialog have a transient. + (thanks Cosimo) + +2010-09-13 Gautier Portet <kassoulet gmail com> + * src/soundconverter.py: Remove wrong default for Ogg Quality combobox. + (thanks elitenoobboy, fixes #17503) + +2010-07-11 Gautier Portet <kassoulet gmail com> + * po/de.po po/ru.po: Update de and ru translations. + (thanks Wolfgang & Oleg) + +2010-06-24 Gautier Portet <kassoulet gmail com> + * src/soundconverter.py: Destination filename was url encoded when stored + in gconf. + (thanks Simón, fixes #17291) + +2010-06-24 Gautier Portet <kassoulet gmail com> + * src/soundconverter.py: Fix track number/count missing when writing to + AAC files. + + (thanks Montel and Tim-Philipp, fixes #17291) + +2010-06-16 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Fix progress bar oddities, crash in TaskQueue and + duplicate mp3 entry in desktop file. + (Thanks Michael, closes #17269, #17268 and #17266) + + release 1.5.3 (1.5.2 was broken) + +2010-06-13 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Fix typo preventing SoundConverter to run. + (thanks logicaldash & mpmic, fixes #17244) + + release 1.5.1 + +2010-05-18 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Faster TypeFinder. + Reduce memory usage. + (61.9s -> 2.8s, 45.5MB -> 37.8MB to load 2918 files) + Fix missing "year" tag. (closes #16425) + Code cleaning. + + release 1.5.0 + +2010-03-17 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Improve command line parser so gstreamer options + are working. + +2010-03-11 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: New command line parser. + (thanks Marco) + +2010-03-02 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: New Asynchronous core. + Wav sample width setting. + Flac compression setting. + + release 1.5.0-alpha1 + +2010-02-10 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Add realaudio to mime whitelist. + Fixed tagreader stall when adding unrecognized files. + +2009-12-14 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Add missing quoting when using destination + folder. + +2009-11-09 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Fix hanging when trying to load DXR files. + (thanks Nastrafireblaze, fix lp:479420) + +2009-10-03 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Remember the last used folder when adding + files/folders. + (thanks szpak, add #4807) + +2009-09-30 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Fix wrong destination folder when using both + same-folder-as-source, base folder, and custom filename patterns. + (thanks Tino, fix #016295) + + * po/nl.po: Update dutch translation. + (thanks Tino) + +2009-07-15 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Follow symbolic links. Wow, how can something this + important can be missing for years ? :) + Faster typefinder by removing the useless fakesink. + (7m -> 20s on a 16GB folder) + +2009-07-02 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Force vbr-max-bitrate to 320 when using mp3+vbr, since + gstreamer now defaults to 160 (stupid!). + (thanks psychoman, fix #15950) + release 1.4.4 + +2009-06-24 Gautier Portet <kassoulet gmail com> + + * po/: Rosetta sync. Update all translations. + Add Danish, English (Australia), Estonian, Japanese and Vietnamese + translations. + +2009-06-15 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Activate GVfs authentication + so we can log to remote shares. + (Thanks ikus060, fix lp:386849) + +2009-06-10 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py, po/*: update-po ! + And marked "All files" for intl. + (Thanks Uwe) + +2009-06-09 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py data/soundconverter.glade autogen.sh po/de.po: + Update german tranlation. + Plus some minor changes in autogen. + (Thanks Uwe) + * src/soundconverter.py: Fix crash in query_duration when pipeline is null. + (fix lp:333024) + +2009-05-27 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Change deprecated Tooltip code. + SoundConverter now requires GTK 2.12+! + (thanks Matt) + +2009-05-19 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Reset status after clearing file list. + (Thanks Sean) + * src/soundconverter.py: Allow loading glade file from source folder. + (Thanks Geoff) + +2009-05-04 Gautier Portet <kassoulet gmail com> + + * po/fr.po: Update french translation. (thanks Olivier) + * src/soundconverter.py: Fix unhandled exception when + removing original files went bad. + (fix lp:278782, thanks surreal) + +2009-04-22 Gautier Portet <kassoulet gmail com> + + * po/bg.po: Add Bulgarian translation. (thanks Nikola) + +2009-04-14 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Fix TagReader freeze when adding + m4p files. (lp:263889) + release 1.4.3 + +2009-03-11 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Sanitize URI handling. + +2009-03-10 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Fix spelling errors. + Removed some translation of log() messages. + (thanks Hew) + +2009-03-10 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Display an error dialog + when something bad happened while encoding. + +2009-02-22 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Add notification at the end of + conversion. + +2009-01-26 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py, data/soundconverter.glade: + Add a checkbox to select .oga extension for vorbis files. + * po/*: Update British, Spanish, Russian and Slovak translations. + Release 1.4.2 + +2008-12-19 Gautier Portet <kassoulet gmail com> + * src/soundconverter.py: Oops, removed python 2.5 line, sorry :). + (thanks Dag) + +2008-12-01 Gautier Portet <kassoulet gmail com> + * po/sv.po: Updated swedish translation, removed useless sv_SE.po. + (thanks Daniel) + * src/soundconverter.py: add event flushing in BackgroundTask, + so GUI should not stall anymore. + +2008-11-06 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Fixed (?) raising of UnicodeDecodeError + when tags contained non-utf-8 strings. (fix LP: #223371) + * po/: Add Breton, Greek, Finnish, Hindi, Telugu and Turkish + translations. Sync with Rosetta. + +2008-10-14 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Change status text when adding files, so + the user gets a clue of what is happening. + +2008-10-04 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Fix crash at startup when more than one + encoding format is missing. (thanks Denis) + Release 1.4.1 + +2008-09-22 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Fix problem with underscores in dest folder + name (thanks Robert). + Stop soundconverter trying to load all my disk at startup. + Maybe a change in getopt, anyway it's fixed... + +2008-09-17 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Fix old problem with unquoted filenames. + When you passed filename in arguments, URI where not quoted when + encoding to same folder, pffff... + Release 1.4.0 + +2008-09-16 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Add AAC quality setting. + +2008-09-10 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Add {Timestamp} filename template. + (thanks Mark) + +2008-09-09 Gautier Portet <kassoulet gmail com> + + * data/soundconverter.glade, src/soundconverter.py: + Added 320kbps to mp3 quality settings. + (thanks Michael) + +2008-09-07 Gautier Portet <kassoulet gmail com> + + * data/soundconverter.glade, src/soundconverter.py: + Added quality 10 to vorbis quality settings. + (thanks Juan Martin) + +2008-09-03 Gautier Portet <kassoulet gmail com> + + * data/soundconverter.glade, src/soundconverter.py: + Reverted useless flac quality setting. + Flac files were bigger than necessary because of + some default settings in gstreamer, causing both channels + to be encoded separately. I added the mid-side-stereo=true + option, and bumped encoding quality to max. + +2008-08-31 Gautier Portet <kassoulet gmail com> + + * data/soundconverter.glade, src/soundconverter.py: + Applied patch adding optional resampling from Francis. + Added flac experimental quality setting. + - flac quality do not seems to work with gstreamer ??? + - flac files created by gstreamer are huge... + +2008-08-03 Gautier Portet <kassoulet gmail com> + + * data/soundconverter.glade: Removed the 'translatable' field on stock + items. + * po/pl/po: Updated Polish translation. (thanks Tomasz) + + +2008-08-03 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Create-folders is also actived when using + same-as-input-folder. + (fix #13915) + Release 1.3.2 + +2008-08-01 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Fix slash in tag. No more creating unwanted + folders. This is just a fast hack, slash is just replaced by dash. + (fix #14286) + +2008-07-30 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Add AAC encoding support as it seems to be + fixed in gstreamer. + (thanks Ian) + (fix #001653) + +2008-07-29 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: use giosrc when available. + * src/soundconverter.py: fix crash when gnomevfssink not present. + (fix #14184) + +2008-07-26 Gautier Portet <kassoulet gmail com> + + * po/pl/po: Updated Polish tranlation. + (thanks Piotr) + +2008-07-03 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Fix small crasher in batch mode. + (fix LP: #243831) + +2008-06-23 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Fix progress related problems in 1.3.0 + Release 1.3.1 + +2008-06-23 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Finally we can process multiple conversions + at the same time, yeah! + Add --jobs option to force the number of threads, default is number + of CPUs. + (fix #13735, LP: #226176) + Release 1.3.0 + +2008-06-10 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Fixes various crashers reported by + Ubunteros. + (thanks Michael, Øyvind Stegard, Matthieu) + (fix LP: #222031 LP: #226685 LP: #230463) + +2008-05-29 Gautier Portet <kassoulet gmail com> + + * po/de.po: Update de tranlation. + +2008-05-13 Gautier Portet <kassoulet gmail com> + + * po/sr*: Update and fix Serbian translation. + +2008-05-12 Gautier Portet <kassoulet gmail com> + + * po/pl.po: update Polish translation. + +2008-05-11 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: TagReader will not decode whole file anymore, It + will even not decode them at all ! + TagReader perform *much* faster (500s -> 20s on 260 files) + (thanks thaytan on #gstreamer) + Release 1.2.0 + +2008-05-05 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Got rid of the progress indicator not beeing + reset after a conversion. + +2008-05-03 Gautier Portet <kassoulet gmail com> + + * po/: Updated Arabic Catalan Czech Spanish French Slovak translations. + Added Esperanto Persian translations. + Updated po/, updated configure.in. + +2008-05-02 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Simplified drag_data_received() so it don't + duplicate code in add_uris. + Display a message when trying to read cdda: uris. + Release 1.1.0 + +2008-04-29 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Faster startup time, by not running a useless + thread when starting. + +2008-04-28 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Fix unhandled exception when parsing pipeline + command. + +2008-04-27 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Add support for codeina/codecbuddy. + +2008-04-22 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Fix crash in add_uris(). + (launchpad #211210) + +2008-04-16 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Fix just another unicode problem, this time when + trying to remove messy chars. Please, think of the kitten, and give me ascii back! + (launchpad #216119) + +2008-04-15 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Fix problem with unicode filenames that keep + trying to crash the universe. + (launchpad #212730) + +2008-04-05 Gautier Portet <kassoulet gmail com> + + * Release 1.0.0 + +2008-03-30 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Only format tags (list) when displaying, So we + don't mess with tags we don't understand. + (launchpad #179886 thanks Shawn, Matthaeus, Brian) + Release 1.0-rc1 + +2008-03-27 Gautier Portet <kassoulet gmail com> + * Fix typo which disabled clear list menu item + * Fix filename_to_uri so it will play nice with + relative and absolute paths, thus removing annoying + gvfs error message at startup when output folder is + not set. + * CustomFileChooser now have case-insensitive filters. + +2008-03-20 Gautier Portet <kassoulet gmail com> + * Add 3gp to the mime whitelist. + +2008-03-11 Gautier Portet <kassoulet gmail com> + * Add a clear list button on toolbar. + (thanks mrennecke) + +2008-03-02 Gautier Portet <kassoulet gmail com> + * Add ca, en_GB, ms to the locales. + * release 0.9.9 + +2008-03-02 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Fix crash and progress problems after removing + from the file list. Fix crash whith some filename encodings. + +2008-02-05 Gautier Portet <kassoulet gmail com> + + * po/: Added Catalan, English (United Kingdom), Malay Translations. + Updated Czech, German, Spanish, Italian, Deutch, Russian, Serbian, Chinese + Traductions + +2008-01-08 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Custom filename patterns can now be + translated. + * release 0.9.8 + +2007-12-26 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Fixed horrible bug #12782 causing deletion + of source file when it's the same as destination. + +2007-11-14 Gautier Portet <kassoulet gmail com> + + * po/ar,eu,he,sk,zh_CN.po: Added arabic, basque, hebrew, slovak and + simplified chinese translations. + (thanks Nizar, amenudo, rainofchaos, Pavol, Moshe) + +2007-09-11 Gautier Portet <kassoulet gmail com> + + * po/sr.po: Added Serbian translation. + (thanks Miloš) + +2007-08-31 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: Added a file extension filter in AddFolder. + +2007-08-30 Gautier Portet <kassoulet gmail com> + + * data/soundconverter.glade: Added Date, Genre and Year in the + custom format hint. + +2007-08-02 Gautier Portet <kassoulet gmail com> + + * po/nl.po: Added Dutch translation. + +2007-08-01 Gautier Portet <kassoulet gmail com> + * release 0.9.7 + +2007-07-31 Gautier Portet <kassoulet gmail com> + + * po/soundconverter.pot: Updated pot file, since it was somewhat outdated. + * po/de.po: Added German translation. + (thanks Martin) + * po/cs.po: Added Czech translation. + (thanks Kamil) + * src/soundconverter.py, data/soundconverter.glade: Add Folder(s) now work + on non-local files aswell. + * src/soundconverter.py: Added "artist - album" in folder patterns. + (thanks Claudio) + Fixed char escaping problem in same-folder-as-input mode. + Fixed crashing when tags contained a list (ie. multiples authors). + (thanks Ken) + Better replace-messy-chars, with unicode->ascii to remove diacritics. + * src/soundconverter.py: Added {Genre}, {Date} and {Year} in custom filename patterns. + (thanks Jon) + +2007-07-19 Gautier Portet <kassoulet gmail com> + + * po/it.po: Added Italian translation. + (thanks Stefano) + +2007-07-09 Gautier Portet <kassoulet gmail com> + * po/es.po: Added spanish translation. + (thanks Gary) + +2007-07-04 Gautier Portet <kassoulet gmail com> + * data/soundconverter.desktop, src/soundconverter.py: Changed the desktop + file so we accept list of URIs instead of just one local file, so opening + multiples files from nautilus will work. + +2007-06-25 Gautier Portet <kassoulet gmail com> + * po/ru.po: added russian translation. + (thanks Alexandre) + +2007-06-23 Gautier Portet <kassoulet gmail com> + + * src/soundconverter.py: fixed track-count in custom filenames patterns. + (thanks Jonas) + +2007-06-20 Gautier Portet <kassoulet gmail com> + + * data/soundconverter.desktop: Added common audio mimetypes. + +2007-04-27 Gautier Portet <kassoulet gmail com> + + * data/Makefile.am: Removed evil DESTDIR, thanks William! + * Release 0.9.6 + +2007-04-25 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: Fixed error message when python-gstreamer is + absent. + * Release 0.9.5 + +2007-04-24 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: Better checking of gstreamer elements. + Now we stop when required elements are missing, and we disable + encoders not present. + + +2007-04-23 Gautier Portet <kassoulet gmail com> + + * data/: GNOME/FreeDesktop compliant icon handling. + Refresh icon cache at (un)install. + +2007-04-16 Gautier Portet <kassoulet gmail com> + + * po/ data/soundconverter.desktop: Desktop file translation enabled. + +2007-04-15 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: Fixed quoting problem with destination folder + (#10884). + * soundconverter.glade: Removed underline handling for destination folder. + (#10807) + * data/: Minor fixes in icons/desktop handling. + (#10808) + - Changed name to "Sound Converter" + - Removed Application from categories. + + +2007-04-08 Gautier Portet <kassoulet gmail com> + + * soundconverter.glade: Set into_selected_folder use_underline to false + so underscores in folder will not be interpreted by GTK. + +2007-04-03 Gautier Portet <kassoulet gmail com> + + * po/hu.po: Added hungarian translation. + +2007-03-16 Gautier Portet <kassoulet gmail com> + + * po/fr.po: Updated french translation. Changed email address of + french translator. + +2007-03-05 Gautier Portet <kassoulet gmail com> + + * soundconverter: Use the new window icon. + +2007-03-03 Gautier Portet <kassoulet gmail com> + + * soundconverter.Desktop: Applied HIG Complience patch from Ubuntu + maintainer (Thanks William) + +2007-02-27 Gautier Portet <kassoulet gmail com> + + * soundconverter: Added a link to the website when mp3 encoding is : + unavailable, so hopefully it will dramatically reduce the number + of emails I receive. + Logo/Icon updated. + * release 0.9.4 + +2007-02-26 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: Replaced xingheader by xingmux, fixing corruption + of VBR MP3 (Thanks to James Lee and Pedro Alejandro López-Valencia). + +2007-02-22 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: Correct escaping of destination. We will not crash + anymore when destination folder contains spaces or weirds chars. + Fixed a problem with lame parameters when using VBR and lowest + quality. + +2006-12-15 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: If id3v2mux is not present, we dump it instead of + crashing encoder. + +2006-12-05 Gautier Portet <kassoulet gmail com> + + * po/pt_BR.po: Updated Brazilian translation. + +2006-10-18 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: Fixed Tag writing when converting to mp3. + Fixed progress. + +2006-10-15 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: Only remove files when conversion was + sucessfull. + * release 0.9.2 + +2006-10-12 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: Fixed (?) loading of badly encoded filenames. + now files encoded in latin-1 should be loadable instead of + triggering an UnicodeDecodeError. + (thanks Christopher) + +2006-09-26 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: Added an option to delete original files. + (thanks James) + +2006-09-19 Gautier Portet <kassoulet gmail com> + + * po/fr.po: french translation updated, Thanks Guillaume. + +2006-09-12 Gautier Portet <kassoulet gmail com> + + * po/sv_SE.po: new swedish translation, Thanks Daniel. + +2006-09-07 Gautier Portet <kassoulet gmail com> + + * release 0.9.1 + +2006-09-06 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: Fix vorbis encoder. + +2006-09-05 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: Add a blacklist of mime type known not to have tags, + to pass them faster. + +2006-09-03 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: Fix quoting of tags when generating filenames. + +2006-08-15 Gautier Portet <kassoulet gmail com> + + * po/pl.po: Updated polish translation. + +2006-08-21 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: batch mode will now overwrite files. + +2006-08-02 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: progressbar work. some code cleanup. + +2006-08-01 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: finally got gstreamer0.10 to work ? + +2006-06-21 Gautier Portet <kassoulet gmail com> + + *soundconverter.py: Added and option to select the threading model of + BackgroundTask. + +2006-06-13 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: Batch mode fixes merged from 0.8. + +2006-06-12 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: The TagReader timeout starts now when the task really + starts. + +2006-06-06 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: Finally progress is working with GStreamer 0.10! + +2006-06-05 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: YEEPEE!!! The bug plagging the gst0.10 port is GONE !! + Merge & cleanup from 0.8 branch: + + * soundconverter.py: Use filesrc instead of gnomevfssrc if it's absent. + (#7652) (debian #367253) + * soundconverter: Added Spanish translation. + * soundconverter: Added a custom file pattern choice. (thanks Adolfo) + * soundconverter.py: Fix doubled folder (#7403). + * soundconverter.py: Fix an uncatched InvalidURIError when adding files. + * soundconverter.glade: Removed preferences and exit toolbar buttons + as requested (#6777). + + +2006-03-29 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: More gstreamer0.10 love. The new api is nice, but + porting to it sucks big time. + +2006-03-19 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: Files permissions are copied from source file. + Some more code for gstreamer0.10. + +2006-02-06 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: Progress dialog is working now. + +2006-02-03 Gautier Portet <kassoulet gmail com> + + * soundconverter.glade: Corrected wrong signal called by the + addfolder menuitem. + +2006-02-02 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: Ouch, fixed broken converter pipeline. + * soundconverter.glade: Fixed broken progressbar. + +2006-02-01 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: We will now use gst_parse_launch() to create a + pipeline, since it allows us to be much more flexible. Some issues + with progressbar where fixed also. + +2006-01-27 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: Applied patch to remove stupid pygtk warning at + exit. thanks Hanno! + +2006-01-24 Gautier Portet <kassoulet gmail com> + + * Makefile: Fixed build on Gentoo. And corrected a typo causing pl and + pt to be not installed + * soundconverter.py|glade: Applied patch with new FileChooser. + thanks Regis! + +2006-01-21 Gautier Portet <kassoulet gmail com> + + Release 0.8.3 + + Added Error handling when trying to load files with invalid + characters... + + + Release 0.8.2 + + make install-local #1154 + Pause button #1455 + + Unique file #5334 + Folder dropping #5561 + Filtering by mime #5789 + Fixed problem with vbr #5872 + + French Translation + New list display + UI Changes + More precise progress bar + Async tag reading + Fixed gnomevfs problems with folders + + +2006-01-21 Gautier Portet <kassoulet gmail com> + + * Makefile: Added translations to build system. + * fr.po: Updated french translation. + * soundconverter.glade: Some minors changes. + * soundconverter.py: Some minors fixes. The UI is now unsensitive + when we are converting. Fixed the convert button beiing called + when we were unpausing. And that's all! + +2006-01-20 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: Fixed the convert/stop buttons, and some more + minor UI fixes. + +2006-01-19 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: The progressbar should be more precise now. + +2006-01-16 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: hum?!?!? File dropping was *again* broken, maybe + it's my evil twin who edits the code :) + * soundconverter.py: added a timeout when reading tags. + +2006-01-15 Gautier Portet <kassoulet gmail com> + + * soundconverter.glade: Reverted to old UI to make a release soon. + * soundconverter.py: Changed the gst-lame problem at vbr-quality=9 + handling for a cleaner one. + +2006-01-11 Gautier Portet <kassoulet gmail com> + + * Makefile: Added install-local. + #1154 (Thanks Régis & Janis) + * Added a makedirs() that use gnomevfs, so folders will really be + created now, even on remote filesystems. + +2006-01-10 Gautier Portet <kassoulet gmail com> + + * Wow, fixed the problem when we generate filenames from tags but tags + are not read when preparing filenames. + This was a big mess, and I tried numerous solutions, but I will keep + the only one that is working for now: just wait tags to be read + before starting conversion. Sorry, this sucks... + Hopefully I read that GStreamer 0.10 is better with threads :) + +2006-01-07 Gautier Portet <kassoulet gmail com> + + * Added the possibility to pause the conversion. + +2005-12-25 Gautier Portet <kassoulet gmail com> + + * Files can only be added once in the list. + +2005-12-22 Gautier Portet <kassoulet gmail com> + + * Finally got walking on gnomevfs to work. Now folder importing is really + usable... + * Added a default to tags, so tag-filled destination paths will + be valid. + +2005-12-20 Gautier Portet <kassoulet gmail com> + + * Better type detection. + * Temporary solved the (non?) problem when trying to convert files which + don't have tags filled yet. + + +2005-12-05 Gautier Portet <kassoulet gmail com> + + * Files types are now detected at loading, expect filtering on types + soon. + +2005-11-29 Gautier Portet <kassoulet gmail com> + + * file list is now filled asynchronously with tags if they are + present. + * list display is handled completely differently, hope its better like + this + +2005-11-08 Gautier Portet <kassoulet gmail com> + + * better folder dropping: now we generate a good base/filename for + SoundFile. But it works not so well when we want to create folders + based on tags, so it will need some more work. + +2005-11-07 Gautier Portet <kassoulet gmail com> + + * fixed broken folder dropping. (#5561) + +2005-11-06 Gautier Portet <kassoulet gmail com> + * drag and drop is now able to import a folder. + * better display of example filename in preferences. + * gnomevfs support. + #1365 + * add a temporary hack for abr/vbr mp3 with quality==9 + #5445 + * release 0.8.1 + + +2005-11-02 Gautier Portet <kassoulet gmail com> + * fixed tree structure being lost when importing folders. + #5336 + +2005-10-25 Gautier Portet <kassoulet gmail com> + * added brazilian translation. + (thanks jonh) + * woops, really added polish translation this time. + +2005-10-18 Gautier Portet <kassoulet gmail com> + * applied patch for polish tranlation + (thanks Dominik) + +2005-10-09 Gautier Portet <kassoulet gmail com> + * added an option to apply to all queue the option choose + when overwriting. + #1341 + +2005-09-28 Gautier Portet <kassoulet gmail com> + * applied patch from Elias for Gentoo + +2005-09-20 ??? Gautier Portet <kassoulet gmail com> + * added a display of the approximate bitrate of the output + * fixed output format not always displayed updated + #4736 (thanks Janis) + * at least a correct handling of the absence of gstreamer-lame + * fixed a crash whith some output folders folders + #3840 (thanks Jason) + * added a button to add a folder recursively + * fixed a crash when loading preferences + #5128 (thanks Joe) + + + +2005-06-13 Gautier Portet <kassoulet gmail com> + * added french tranlation. + (thanks Guillaume Bedot <littletux@zarb.org>) + * fixed a bug causing ogg tags to be ignored. + (thanks Noa Resare <noa@resare.com>) + +2005-04-15 Gautier Portet <kassoulet gmail com> + + * reverted quality setting to 'real-world' quantities + -> values stored in gconf are now the values passed + to gstreamer and not meaningless enums. + * added a label showing an aproximate bitrate in the + preference window + + +2005-03-24 Gautier Portet <kassoulet gmail com> + + * Gracefully handled gnome.vfs deprecation (#3649) + * Fixed broken "replace messy chars" button + * Make use of urllib.unquote where appropriate (#3655) + (makedirs, replace messy chars) + * Making release version 0.7.1 + +2005-03-24 Gautier Portet <kassoulet gmail com> + + * Making release version 0.7 + +2005-03-24 Gautier Portet <kassoulet gmail com> + + * soundconverter.glade: added a logo on the about box. + + * soundconverter.py: fixed about dialog showing only once (we need an + optimal method for handling dialogs). + +2005-03-23 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: added a dialog asking what to do when a file + exists. + +2005-03-22 Gautier Portet <kassoulet gmail com> + + * soundconverter.glade: added an Add button on toolbar, added + separators. + +2005-03-17 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: removed xing header generation when outputing mp3, + since it seems to break xmms mad decoder. + + * soundconverter.glade: changed the preference dialog, for a cleaner + one. + +2005-03-15 Gautier Portet <kassoulet gmail com> + + * added the quality settings for vorbis and mp3 + + * soundconverter.py: some code cleanup. + +2005-03-14 Gautier Portet <kassoulet gmail com> + + * soundconverter.py: changed deprecated import gnome.vfs to gnomevfs + +2005-02-27 Gautier Portet <kassoulet gmail com> + + * Added basic mp3 support + +2004-12-31 Lars Wirzenius <liw iki fi> + + * Making release version 0.5. + +2004-12-31 Lars Wirzenius <liw iki fi> + + * COPYING: Added. + + * README: Added copyright and license information. + +2004-12-31 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Make sure all the keys used for formatting + target names exist in the dict used for input to the patterns. + +2004-12-31 Lars Wirzenius <liw iki fi> + + * soundconverter.1: Wrote. + +2004-12-31 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Better way to stop a TagReader pipeline + that doesn't cause Gstreamer runtime warnings. Also, allow + selecting multiple files in the new filechooser for adding + files. + +2004-12-31 Lars Wirzenius <liw iki fi> + + * soundconverter.glade, soundconverter.py: Removed the addchoser + dialog from the Glade file. Added code to create it in the Python + file instead. The reason: mysteriously the "Cancel" and "Open" + buttons disappeared from the dialog and this was the way to get + them back, since it seems they need to be added explicitly when + the dialog is created. Weird. + +2004-12-31 Lars Wirzenius <liw iki fi> + + * soundconverter.glade: Added a shortcut ctrl-O for adding new files. + +2004-12-31 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Since we can deal with lots of kinds of input + files, let's not have a filter in the file chooser. + +2004-12-28 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Now using the "decodebin" GstElement for finding + tags and decoding. Now we should be able to handle anything GStreamer + can handle for input. + +2004-12-27 Lars Wirzenius <liw iki fi> + + * Making release version 0.4. + +2004-12-24 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Handle error printing in cli mode as well. + +2004-12-24 Lars Wirzenius <liw iki fi> + + * soundconverter.py, soundconverter.glade: Refactoring to make + error dialogs and their use better. + +2004-12-24 Lars Wirzenius <liw iki fi> + + * soundconverter.py, soundconverter.glade: Added example filename + shown in the preferences dialog that is updated after each change. + +2004-12-24 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Don't encode the name of the selected folder, + just subfolders that are created and the basename. + +2004-12-24 Lars Wirzenius <liw iki fi> + + * soundconverter.py: I am no longer a klutz. Implemented the + creation of subfolders according to patterns. + +2004-12-24 Lars Wirzenius <liw iki fi> + + * soundconverter.py, soundconverter.glade: User may choose whether + to create subfolders below the selected folder. Not that they are + yet created, but I happened to commit the change already by + mistake so now I need to write a ChangeLog entry as well. I am + such a klutz. + +2004-12-24 Lars Wirzenius <liw iki fi> + + * soundconverter.py, soundconverter.glade: User may now choose + whether output files are put into the same directory as the + corresponding input files, or into a folder the user has + specifically chosen. + +2004-12-24 Lars Wirzenius <liw iki fi> + + * soundconverter.py, soundconverter.glade: Made it possible again + to choose whether "messy" characters in the target filenames are + replaced with other characters. + +2004-12-24 Lars Wirzenius <liw iki fi> + + * soundconverter.py, soundconverter.glade: Simplified selection of + basename generation: now there is only a single ComboBox selection + instead of that plus two radio buttons. This should be clearer. + +2004-12-23 Lars Wirzenius <liw iki fi> + + * soundconverter.py, soundconverter.glade: The user may now + choose how the output file is named: basename is the same as + input file (but with suffix changed) or output name is + constructed from meta data tags. + +2004-12-23 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Changed the TargetNameGenerator to support + keyword based patterns for location and basename. + + * soundconverterTests.py: Related changes. + +2004-12-23 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Refactoring. Information about the input file + (location, tags) is now kept in a separate class. + +2004-12-23 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Added support for audio/x-wav for file chooser + filter. + + * soundconverter.py, soundconverter.glade: Reworked the + Preferences dialog. Only selection of output format and Ogg + Vorbis quality levels work for now. The rest will follow. + +2004-12-18 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Set name on the filter for the file chooser. + +2004-12-15 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Make the GUI report how much time was spent + for the conversions. + + * README: Add note about performance. + +2004-12-15 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Reset the internal counters for dealing with + progress when the job is finished, so that if we start a new job, + the counters start from zero, not at the end of the previous job. + +2004-12-15 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Added support for drag-and-dropping files + from Nautilus to the file list in Sound Converter. This was based + on a patch from Chris Jones, but I re-did to fit the style of + my code. + +2004-12-12 Lars Wirzenius <liw iki fi> + + * soundconverter.py: In Pipeline.work, don't do anything if the + pipeline is stopped. + + * soundconverter.py: In TagReader.finish, call found_tag_hook + unless it has been called already. + + * soundconverter.py: Add -q/--quiet option. + +2004-12-05 Lars Wirzenius <liw iki fi> + + * Making release version 0.3. + +2004-12-05 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Added support for Wave files as output. + + * README: Updated. + +2004-12-05 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Added support for Wave files (.wav, + audio/x-wav) as input. + +2004-12-05 Lars Wirzenius <liw iki fi> + + * Makefile: Use snd/* for simple tag finding in "make check". + + * soundconverter.py: Minor refactoring. + +2004-12-05 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Changed the output pipeline to use + gnomevfssink for output, rather than filesink. We now do all I/O + to the sound files via GNOME vfs. + +2004-12-05 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Changed TargetNameGenerator to generate + uris instead of filenames. + + * soundconverterTests.py: Related changes. + +2004-12-05 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Input is now via gnomevfssrc, instead of + filesrc, and all filenames that refer to the input have been + converted to use file: urls. + +2004-12-05 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Made usable from command line as well. + +2004-11-28 Lars Wirzenius <liw iki fi> + + * Making release version 0.2. + +2004-11-28 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Fixed stopping. + +2004-11-28 Lars Wirzenius <liw iki fi> + + * soundconverter.py: the about dialog now shows name and version + number. + + * soundconverter.glade: Added a bit of space around the label in + the prefs dialog. This didn't make it less ugly, however. + +2004-11-28 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Re-added support for vorbis-quality. + + * Makefile: Added "clean" target. + + * README: Cleanups and updates. + +2004-11-28 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Rewrote task handling and tag reading and + conversion stuff. + + * README: Added. + + * .cvsignore: Added. + +2004-11-08 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Ported to work with current version + (0.7.93-1) of python-gst. The change: can't create a + gst.Element("foo"), need to call gst.element_factory_find("foo") + instead. + + * soundconverter.py: Wrote a class TargetNameGenerator to generate + the names of output files, and modified the rest of the program + to use it. This should eventually implement a language for + describing the output name (user can set patterns like + "%(artist)s-%(album)s-%(title)s.%(suffix)s"). + + * soundconverterTests.py: Wrote tests for TargetNameGenerator. + + * Makefile: Added a "check" target. + +2004-10-29 Lars Wirzenius <liw iki fi> + + * Making release version 0.1. + +2004-10-29 Lars Wirzenius <liw iki fi> + + * soundconverter.glade, soundconverter.py: If an output file + exists, ask the user what to do. + +2004-10-29 Lars Wirzenius <liw iki fi> + + * Makefile: Wrote. + +2004-10-29 Lars Wirzenius <liw iki fi> + + * soundconverter.glade, soundconverter.py: Added a preferences + dialog to allow setting of the quality level of the Ogg Vorbis + files we create. The value is stored in GConf. + +2004-10-29 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Got rid of the useless File class, since the + same data is stored in the GtkListStore as well. + +2004-10-25 Lars Wirzenius <liw iki fi> + + * soundconverter.py: More refactoring. Got rid of the useless + (since we only have one window) SoundConverterApp class. + +2004-10-25 Lars Wirzenius <liw iki fi> + + * soundconverter.py: Refactored so that the two background tasks + are based on a common base class that contains the common + functionality. @@ -0,0 +1,370 @@ +Installation Instructions +************************* + +Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation, +Inc. + + Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without warranty of any kind. + +Basic Installation +================== + + Briefly, the shell command `./configure && make && make install' +should configure, build, and install this package. The following +more-detailed instructions are generic; see the `README' file for +instructions specific to this package. Some packages provide this +`INSTALL' file but do not implement all of the features documented +below. The lack of an optional feature in a given package is not +necessarily a bug. More recommendations for GNU packages can be found +in *note Makefile Conventions: (standards)Makefile Conventions. + + 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 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. + + Running `configure' might take a while. 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, generally using the just-built uninstalled binaries. + + 4. Type `make install' to install the programs and any data files and + documentation. When installing into a prefix owned by root, it is + recommended that the package be configured and built as a regular + user, and only the `make install' phase executed with root + privileges. + + 5. Optionally, type `make installcheck' to repeat any self-tests, but + this time using the binaries in their final installed location. + This target does not install anything. Running this target as a + regular user, particularly if the prior `make install' required + root privileges, verifies that the installation completed + correctly. + + 6. 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. + + 7. Often, you can also type `make uninstall' to remove the installed + files again. In practice, not all packages have tested that + uninstallation works correctly, even though it is required by the + GNU Coding Standards. + + 8. Some packages, particularly those that use Automake, provide `make + distcheck', which can by used by developers to test that all other + targets like `make install' and `make uninstall' work correctly. + This target is generally not run by end users. + +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=c99 CFLAGS=-g 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 can use 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 `..'. This +is known as a "VPATH" build. + + With a non-GNU `make', it is safer 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. + + On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types--known as "fat" or +"universal" binaries--by specifying multiple `-arch' options to the +compiler but only a single `-arch' option to the preprocessor. Like +this: + + ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" + + This is not guaranteed to produce working output in all cases, you +may have to build one architecture at a time and combine the results +using the `lipo' tool if you have problems. + +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', where PREFIX must be an +absolute file name. + + 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. In general, the +default for these options is expressed in terms of `${prefix}', so that +specifying just `--prefix' will affect all of the other directory +specifications that were not explicitly provided. + + The most portable way to affect installation locations is to pass the +correct locations to `configure'; however, many packages provide one or +both of the following shortcuts of passing variable assignments to the +`make install' command line to change installation locations without +having to reconfigure or recompile. + + The first method involves providing an override variable for each +affected directory. For example, `make install +prefix=/alternate/directory' will choose an alternate location for all +directory configuration variables that were expressed in terms of +`${prefix}'. Any directories that were specified during `configure', +but not in terms of `${prefix}', must each be overridden at install +time for the entire installation to be relocated. The approach of +makefile variable overrides for each directory variable is required by +the GNU Coding Standards, and ideally causes no recompilation. +However, some platforms have known limitations with the semantics of +shared libraries that end up requiring recompilation when using this +method, particularly noticeable in packages that use GNU Libtool. + + The second method involves providing the `DESTDIR' variable. For +example, `make install DESTDIR=/alternate/directory' will prepend +`/alternate/directory' before all installation names. The approach of +`DESTDIR' overrides is not required by the GNU Coding Standards, and +does not work on platforms that have drive letters. On the other hand, +it does better at avoiding recompilation issues, and works well even +when some directory options were not specified in terms of `${prefix}' +at `configure' time. + +Optional Features +================= + + 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'. + + 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. + + Some packages offer the ability to configure how verbose the +execution of `make' will be. For these packages, running `./configure +--enable-silent-rules' sets the default to minimal output, which can be +overridden with `make V=1'; while running `./configure +--disable-silent-rules' sets the default to verbose, which can be +overridden with `make V=0'. + +Particular systems +================== + + On HP-UX, the default C compiler is not ANSI C compatible. If GNU +CC is not installed, it is recommended to use the following options in +order to use an ANSI C compiler: + + ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" + +and if that doesn't work, install pre-built binaries of GCC for HP-UX. + + HP-UX `make' updates targets which have the same time stamps as +their prerequisites, which makes it generally unusable when shipped +generated files such as `configure' are involved. Use GNU `make' +instead. + + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot +parse its `<wchar.h>' header file. The option `-nodtk' can be used as +a workaround. If GNU CC is not installed, it is therefore recommended +to try + + ./configure CC="cc" + +and if that doesn't work, try + + ./configure CC="cc -nodtk" + + On Solaris, don't put `/usr/ucb' early in your `PATH'. This +directory contains several dysfunctional programs; working variants of +these programs are available in `/usr/bin'. So, if you need `/usr/ucb' +in your `PATH', put it _after_ `/usr/bin'. + + On Haiku, software installed for all users goes in `/boot/common', +not `/usr/local'. It is recommended to use the following options: + + ./configure --prefix=/boot/common + +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). + +Unfortunately, this technique does not work for `CONFIG_SHELL' due to +an Autoconf limitation. Until the limitation is lifted, you can use +this workaround: + + CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash + +`configure' Invocation +====================== + + `configure' recognizes the following options to control how it +operates. + +`--help' +`-h' + Print a summary of all of the options to `configure', and exit. + +`--help=short' +`--help=recursive' + Print a summary of the options unique to this package's + `configure', and exit. The `short' variant lists options used + only in the top level, while the `recursive' variant lists options + also present in any nested packages. + +`--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. + +`--prefix=DIR' + Use DIR as the installation prefix. *note Installation Names:: + for more details, including other options available for fine-tuning + the installation locations. + +`--no-create' +`-n' + Run the configure checks, but stop before creating any output + files. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..ffc8f66 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,21 @@ +## Process this file with automake to produce Makefile.in + +AUTOMAKE_OPTIONS = dist-xz no-dist-gzip + +SUBDIRS = bin soundconverter data doc po + +CLEANFILES= + +EXTRA_DIST = autogen.sh +DISTCLEANFILES = intltool-extract.in intltool-merge.in intltool-update.in intltool-extract intltool-merge intltool-update + + +release: changelog dist + echo git tag -a $(VERSION) -m release-$(VERSION) + echo git push --tags + echo lp-project-upload soundconverter $(VERSION) soundconverter-$(VERSION).tar.xz + +# generate the changelog from git log +changelog: + git log 3fd8.. --pretty --numstat --summary | ./git2cl.pl > ChangeLog + cat ChangeLog.old >> ChangeLog diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000..75724e6 --- /dev/null +++ b/Makefile.in @@ -0,0 +1,787 @@ +# 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 = : +subdir = . +DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \ + $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/configure $(am__configure_deps) mkinstalldirs \ + COPYING TODO compile install-sh missing py-compile +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +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_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 +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" +GZIP_ENV = --best +DIST_ARCHIVES = $(distdir).tar.xz +DIST_TARGETS = dist-xz +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@ +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@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +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@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +OBJEXT = @OBJEXT@ +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@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +PYTHON = @PYTHON@ +PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ +PYTHON_PLATFORM = @PYTHON_PLATFORM@ +PYTHON_PREFIX = @PYTHON_PREFIX@ +PYTHON_VERSION = @PYTHON_VERSION@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +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_CC = @ac_ct_CC@ +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_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +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@ +pkgpyexecdir = @pkgpyexecdir@ +pkgpythondir = @pkgpythondir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +pyexecdir = @pyexecdir@ +pythondir = @pythondir@ +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@ +AUTOMAKE_OPTIONS = dist-xz no-dist-gzip +SUBDIRS = bin soundconverter data doc po +CLEANFILES = +EXTRA_DIST = autogen.sh +DISTCLEANFILES = intltool-extract.in intltool-merge.in intltool-update.in intltool-extract intltool-merge intltool-update +all: all-recursive + +.SUFFIXES: +am--refresh: Makefile + @: +$(srcdir)/Makefile.in: $(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: $(am__configure_deps) + $(am__cd) $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): + +# 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 +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +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: + -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-recursive + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +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 + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ + am--refresh check check-am clean clean-cscope clean-generic \ + 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-tags \ + distcleancheck distdir distuninstallcheck dvi dvi-am html \ + html-am info info-am install install-am 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 installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am tags tags-am uninstall uninstall-am + + +release: changelog dist + echo git tag -a $(VERSION) -m release-$(VERSION) + echo git push --tags + echo lp-project-upload soundconverter $(VERSION) soundconverter-$(VERSION).tar.xz + +# generate the changelog from git log +changelog: + git log 3fd8.. --pretty --numstat --summary | ./git2cl.pl > ChangeLog + cat ChangeLog.old >> ChangeLog + +# 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: @@ -0,0 +1,139 @@ + +Version 2.0.4 +============= + +Add support for Opus codec (http://www.opus-codec.org/) + +Fix command line arguments parsing. +(Closes lp:995862, thanks Michael) + +Fix problem with AAC settings. +(closes lp:954555, thanks Patrick and zebul666) + +Fix crash in FolderChooser. +(Closes fedora:836338, thanks Michael) + +Fix yet another problem with URIs handling. +(Closes lp:998371, thanks Bastian) + + +Version 2.0.3 +============= + +Fix stability and progress related problems. + +Disable common path when creating folders using tags. +(Closes lp:972158, thanks Eric) + +Increase Low pass filter frequency when converting to MP3. +(Closes lp:881413, thanks Michael) + +Use original filename as title when tags are not present. +(Closes lp:984790) + +Update Translations. + + +Version 2.0.2 +============= + +Fix progress-related blocking by speeding up the progress update. +(Closes lp:940648, thanks Ben) + +Add canadian french. +(Thanks Alain-Olivier) + +Fix many English spelling errors. +(Thanks Alain-Olivier) + + +Version 2.0.1 +============= + +Fix size of icons in menu bar. + thanks Johan. + +Fix syntax error when converting to mp3. + thanks Jakob. + +Fix broken GNOME Audio Profiles. + +Add audio/flac in supported mimetypes, fixing "open with" in recent ditribs. + + +Version 2.0 +=========== + +Exclude .iso files from conversion since we cannot read them. + +Update translations. + +Fix crash when last-used-folders and recent.xbel are empty. + closes #921515, thanks Danilo & Michael. + +Fix unresponsible UI when reading a lot of tags. + closes #917439, thanks Ben. + + +Version 2.0-rc5 +=============== +Fix problem with Mime type combobox when any encoder is disabled. + Closes #911759 + +Check validity of Gstreamer Audio Profiles. (for real this time) + Fix commit d5b5046, closes fedora #744596. + +Remove horizontal scroller on filelist since it should never be shown. + +Translate default album/artist/title names. + Closes #910522. + +Don't try to display images in log :) + +Update-po +Update frecnh translation. + +Version 2.0-rc4 +=============== +Reset selected audio profile if not a valid one. + #814015 + +Adding is 4x faster. We first scan the files, then add to the +filelist. + +Clearing the filelist is now instant. + +Version 2.0-rc3 +=============== +Fix resample combobox. Was not working anymore. + +Version 2.0-rc2 +=============== + +Automatic codec install is repaired. +Gnome Audio profiles are working. +Fix 8 bits wav encoding. + +Version 2.0-rc1 +=============== + +Great code reorganization and cleaning. +Display individual files progression. + +Fix broken Vorbis output. + #508767 + +Much faster adding of files, since we only read the tags when we have to. + +Smoother operation, lesser unresponsive moments. + #784926 + +Add {Ext} {DiscNumber} and {DiscTotal} filename patterns. + +You can now limit the number of parallel conversions. + +The partial files are removed when canceling a conversion. + +What is know to be broken : Automatic codec install, work in progress. + + @@ -0,0 +1,82 @@ + README for GNOME sound converter application + ============================================ + +A simple sound converter application for the GNOME environment. It reads +anything the GStreamer library can read, and writes WAV, FLAC, MP3, and +Ogg Vorbis files. + +This application is somewhat less fast than various command line tools. +Not a whole lot, however, and not enough to make me worry about +performance for the foreseeable future. If you want ultimate +performance, the command line tools are always going to be preferable. + + Supported audio formats + ----------------------- + +All file formats that GStreamer can read from should now be supported +(thanks to the wonderful "decodebin" element). The output formats are +more restricted, however, since there is no "encodebin" element to +magically convert to any format we might want. + + Type Supported? + + Ogg Vorbis yes + FLAC yes + Wave yes + MP3 yes + + Copyright and acknowledgements + ------------------------------ + +Copyright 2004 Lars Wirzenius +Copyright 2005-2012 Gautier Portet + +thanks to: + Guillaume Bedot + Dominik Zabłotny + Noa Resare + Nil Gradisnik + Elias Autio + Thom Pischke + Qball Cow + Janis Blechert + Brendan Martens + Jason Martens + Wouter Stomp + Joe Wrigley + Jonh Wendell + Regis Floret + Toni Fiz + Seketeli Apelete + Cristiano Canguçu + Adolfo González Blázquez + Marc E. + Tobias Kral + Hanno Böck + Pedro Alejandro López-Valencia + James Lee + Christopher Barrington-Leigh + Thomas Schwing + Remi Grolleau + Julien Gascard + Kamil Páral + Stefano Luciani + Martin Seifert + Claudio Saavedra + Ken Harris + Jon Arnold + Major Kong + Uwe Bugla + +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; version 3 of the License. + +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 @@ -0,0 +1,20 @@ +http://developer.berlios.de/projects/soundconverter/ + + +conversion vers vorbis a regler. tester si encore probleme +avec bin2 + +mp3 16khz -> faire une table, ou un param avec la freq ? + +Error: <b>GStreamer Error:</b> +Could not decode stream. +<i>(04. Ninjaman - Laugh And Grin.flac)</i> + +Creating folder: + +non-thread-safe plugins: plusieurs process ? + +Un seul thread pour le typefind ? + +Clear ne vide pas la memoire ? + diff --git a/aclocal.m4 b/aclocal.m4 new file mode 100644 index 0000000..69b64cc --- /dev/null +++ b/aclocal.m4 @@ -0,0 +1,2068 @@ +# 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 <drepper@cygnus.com>, 1995, 1996 +# +# Modified to never use included libintl. +# Owen Taylor <otaylor@redhat.com>, 12/15/1998 +# +# Major rework to remove unused code +# Owen Taylor <otaylor@redhat.com>, 12/11/2002 +# +# Added better handling of ALL_LINGUAS from GNU gettext version +# written by Bruno Haible, Owen Taylor <otaylor.redhat.com> 5/30/3002 +# +# Modified to require ngettext +# Matthias Clasen <mclasen@redhat.com> 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 <locale.h>], [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 <locale.h> 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 <libintl.h> +], + [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 <libintl.h> +], + [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 <foo@bar.xx>\n" +"Language-Team: C <LL@li.org>\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], ...) + + +# 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 <drepper@cygnus.com>, 1995-2000. +dnl Bruno Haible <haible@clisp.cons.org>, 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]) +]) + +# 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: +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> +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: <http://austingroupbugs.net/view.php?id=542> + +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: <http://www.gnu.org/software/coreutils/>. + +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])]) + +# 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 +]) + +# 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) 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_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# --------------------------------------------------------------------------- +# Adds support for distributing Python modules and packages. To +# install modules, copy them to $(pythondir), using the python_PYTHON +# automake variable. To install a package with the same name as the +# automake package, install to $(pkgpythondir), or use the +# pkgpython_PYTHON automake variable. +# +# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as +# locations to install python extension modules (shared libraries). +# Another macro is required to find the appropriate flags to compile +# extension modules. +# +# If your package is configured with a different prefix to python, +# users will have to add the install directory to the PYTHONPATH +# environment variable, or create a .pth file (see the python +# documentation for details). +# +# If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will +# cause an error if the version of python installed on the system +# doesn't meet the requirement. MINIMUM-VERSION should consist of +# numbers and dots only. +AC_DEFUN([AM_PATH_PYTHON], + [ + dnl Find a Python interpreter. Python versions prior to 2.0 are not + dnl supported. (2.0 was released on October 16, 2000). + m4_define_default([_AM_PYTHON_INTERPRETER_LIST], +[python python2 python3 python3.3 python3.2 python3.1 python3.0 python2.7 dnl + python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0]) + + AC_ARG_VAR([PYTHON], [the Python interpreter]) + + m4_if([$1],[],[ + dnl No version check is needed. + # Find any Python interpreter. + if test -z "$PYTHON"; then + AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :) + fi + am_display_PYTHON=python + ], [ + dnl A version check is needed. + if test -n "$PYTHON"; then + # If the user set $PYTHON, use it and don't search something else. + AC_MSG_CHECKING([whether $PYTHON version is >= $1]) + AM_PYTHON_CHECK_VERSION([$PYTHON], [$1], + [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + AC_MSG_ERROR([Python interpreter is too old])]) + am_display_PYTHON=$PYTHON + else + # Otherwise, try each interpreter until we find one that satisfies + # VERSION. + AC_CACHE_CHECK([for a Python interpreter with version >= $1], + [am_cv_pathless_PYTHON],[ + for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do + test "$am_cv_pathless_PYTHON" = none && break + AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break]) + done]) + # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. + if test "$am_cv_pathless_PYTHON" = none; then + PYTHON=: + else + AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON]) + fi + am_display_PYTHON=$am_cv_pathless_PYTHON + fi + ]) + + if test "$PYTHON" = :; then + dnl Run any user-specified action, or abort. + m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])]) + else + + dnl Query Python for its version number. Getting [:3] seems to be + dnl the best way to do this; it's what "site.py" does in the standard + dnl library. + + AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version], + [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`]) + AC_SUBST([PYTHON_VERSION], [$am_cv_python_version]) + + dnl Use the values of $prefix and $exec_prefix for the corresponding + dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made + dnl distinct variables so they can be overridden if need be. However, + dnl general consensus is that you shouldn't need this ability. + + AC_SUBST([PYTHON_PREFIX], ['${prefix}']) + AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}']) + + dnl At times (like when building shared libraries) you may want + dnl to know which OS platform Python thinks this is. + + AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform], + [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`]) + AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform]) + + # Just factor out some code duplication. + am_python_setup_sysconfig="\ +import sys +# Prefer sysconfig over distutils.sysconfig, for better compatibility +# with python 3.x. See automake bug#10227. +try: + import sysconfig +except ImportError: + can_use_sysconfig = 0 +else: + can_use_sysconfig = 1 +# Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs: +# <https://github.com/pypa/virtualenv/issues/118> +try: + from platform import python_implementation + if python_implementation() == 'CPython' and sys.version[[:3]] == '2.7': + can_use_sysconfig = 0 +except ImportError: + pass" + + dnl Set up 4 directories: + + dnl pythondir -- where to install python scripts. This is the + dnl site-packages directory, not the python standard library + dnl directory like in previous automake betas. This behavior + dnl is more consistent with lispdir.m4 for example. + dnl Query distutils for this directory. + AC_CACHE_CHECK([for $am_display_PYTHON script directory], + [am_cv_python_pythondir], + [if test "x$prefix" = xNONE + then + am_py_prefix=$ac_default_prefix + else + am_py_prefix=$prefix + fi + am_cv_python_pythondir=`$PYTHON -c " +$am_python_setup_sysconfig +if can_use_sysconfig: + sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'}) +else: + from distutils import sysconfig + sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix') +sys.stdout.write(sitedir)"` + case $am_cv_python_pythondir in + $am_py_prefix*) + am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` + am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"` + ;; + *) + case $am_py_prefix in + /usr|/System*) ;; + *) + am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages + ;; + esac + ;; + esac + ]) + AC_SUBST([pythondir], [$am_cv_python_pythondir]) + + dnl pkgpythondir -- $PACKAGE directory under pythondir. Was + dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is + dnl more consistent with the rest of automake. + + AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE]) + + dnl pyexecdir -- directory for installing python extension modules + dnl (shared libraries) + dnl Query distutils for this directory. + AC_CACHE_CHECK([for $am_display_PYTHON extension module directory], + [am_cv_python_pyexecdir], + [if test "x$exec_prefix" = xNONE + then + am_py_exec_prefix=$am_py_prefix + else + am_py_exec_prefix=$exec_prefix + fi + am_cv_python_pyexecdir=`$PYTHON -c " +$am_python_setup_sysconfig +if can_use_sysconfig: + sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'}) +else: + from distutils import sysconfig + sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix') +sys.stdout.write(sitedir)"` + case $am_cv_python_pyexecdir in + $am_py_exec_prefix*) + am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` + am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"` + ;; + *) + case $am_py_exec_prefix in + /usr|/System*) ;; + *) + am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages + ;; + esac + ;; + esac + ]) + AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir]) + + dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE) + + AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE]) + + dnl Run any user-specified action. + $2 + fi + +]) + + +# AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) +# --------------------------------------------------------------------------- +# Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION. +# Run ACTION-IF-FALSE otherwise. +# This test uses sys.hexversion instead of the string equivalent (first +# word of sys.version), in order to cope with versions such as 2.2c1. +# This supports Python 2.0 or higher. (2.0 was released on October 16, 2000). +AC_DEFUN([AM_PYTHON_CHECK_VERSION], + [prog="import sys +# split strings by '.' and convert to numeric. Append some zeros +# because we need at least 4 digits for the hex conversion. +# map returns an iterator in Python 3.0 and a list in 2.x +minver = list(map(int, '$2'.split('.'))) + [[0, 0, 0]] +minverhex = 0 +# xrange is not present in Python 3.0 and range returns an iterator +for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]] +sys.exit(sys.hexversion < minverhex)" + AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])]) + +# 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 <conftest.tar]) + AM_RUN_LOG([cat conftest.dir/file]) + grep GrepMe conftest.dir/file >/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 + diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..6afd9fe --- /dev/null +++ b/autogen.sh @@ -0,0 +1,48 @@ +#!/bin/sh +# Run this to generate all the initial makefiles, etc. + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +PKG_NAME="soundconverter" +REQUIRED_AUTOCONF_VERSION=2.53 +REQUIRED_AUTOMAKE_VERSION=1.7.2 + +(test -f $srcdir/configure.in \ + && test -f $srcdir/autogen.sh) || { + echo -n "**Error**: Directory "\`$srcdir\'" does not look like the" + echo " top-level $PKG_NAME directory" + exit 1 +} + +DIE=0 + +# This is a bit complicated here since we can't use gnome-config yet. +# It'll be easier after switching to pkg-config since we can then +# use pkg-config to find the gnome-autogen.sh script. + +gnome_autogen= +gnome_datadir= + +ifs_save="$IFS"; IFS=":" +for dir in $PATH ; do + test -z "$dir" && dir=. + if test -f $dir/gnome-autogen.sh ; then + gnome_autogen="$dir/gnome-autogen.sh" + gnome_datadir=`echo $dir | sed -e 's,/bin$,/share,'` + break + fi +done +IFS="$ifs_save" + +if test -z "$gnome_autogen" ; then + echo "You need to install the gnome-common module and make" + echo "sure the gnome-autogen.sh script is in your \$PATH." + exit 1 +fi + +GNOME_DATADIR="$gnome_datadir" USE_GNOME2_MACROS=1 . $gnome_autogen + +automake -a -f +autoconf + diff --git a/bin/Makefile.am b/bin/Makefile.am new file mode 100644 index 0000000..50c7212 --- /dev/null +++ b/bin/Makefile.am @@ -0,0 +1,11 @@ +bin_SCRIPTS = \ + soundconverter + +EXTRA_DIST = soundconverter.py +CLEANFILES = $(bin_SCRIPTS) + +soundconverter: soundconverter.py + sed -e s!\@datadir\@!$(datadir)! -e s!\@libdir\@!$(libdir)! -e s!\@version\@!$(VERSION)! < $< > $@ + chmod +x $@ + + diff --git a/bin/Makefile.in b/bin/Makefile.in new file mode 100644 index 0000000..563fb56 --- /dev/null +++ b/bin/Makefile.in @@ -0,0 +1,499 @@ +# 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 = : +subdir = bin +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/mkinstalldirs +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +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)" +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 = +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@ +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@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +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@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +OBJEXT = @OBJEXT@ +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@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +PYTHON = @PYTHON@ +PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ +PYTHON_PLATFORM = @PYTHON_PLATFORM@ +PYTHON_PREFIX = @PYTHON_PREFIX@ +PYTHON_VERSION = @PYTHON_VERSION@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +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_CC = @ac_ct_CC@ +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_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +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@ +pkgpyexecdir = @pkgpyexecdir@ +pkgpythondir = @pkgpythondir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +pyexecdir = @pyexecdir@ +pythondir = @pythondir@ +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@ +bin_SCRIPTS = \ + soundconverter + +EXTRA_DIST = soundconverter.py +CLEANFILES = $(bin_SCRIPTS) +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(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 bin/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu bin/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: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(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) +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 $(SCRIPTS) +installdirs: + for dir in "$(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: + -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) + +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 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-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: 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 -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binSCRIPTS + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic cscopelist-am \ + ctags-am distclean distclean-generic distdir 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-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am tags-am uninstall uninstall-am \ + uninstall-binSCRIPTS + + +soundconverter: soundconverter.py + sed -e s!\@datadir\@!$(datadir)! -e s!\@libdir\@!$(libdir)! -e s!\@version\@!$(VERSION)! < $< > $@ + chmod +x $@ + +# 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: diff --git a/bin/soundconverter.py b/bin/soundconverter.py new file mode 100644 index 0000000..da5b9da --- /dev/null +++ b/bin/soundconverter.py @@ -0,0 +1,202 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# SoundConverter - GNOME application for converting between audio formats. +# Copyright 2004 Lars Wirzenius +# Copyright 2005-2012 Gautier Portet +# +# 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; version 3 of the License. +# +# 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 + +""" +SoundConverter Launcher. +""" + +import os +import sys +import locale +import gettext +from optparse import OptionParser + +# variables +LIBDIR = '@libdir@' +DATADIR = '@datadir@' + +NAME = 'SoundConverter' +VERSION = '@version@' +print( '%s %s' % (NAME, VERSION) ) + +GLADEFILE = '@datadir@/soundconverter/soundconverter.glade' + +PACKAGE = NAME.lower() +try: + locale.setlocale(locale.LC_ALL,'') + locale.bindtextdomain(PACKAGE,'@datadir@/locale') + gettext.bindtextdomain(PACKAGE,'@datadir@/locale') + gettext.textdomain(PACKAGE) + gettext.install(PACKAGE,localedir='@datadir@/locale',unicode=1) + #from gettext import gettext as _ +except locale.Error: + print(' cannot use system locale.') + locale.setlocale(locale.LC_ALL,'C') + gettext.textdomain(PACKAGE) + gettext.install(PACKAGE,localedir='@datadir@/locale',unicode=1) + +def _add_soundconverter_path(): + global localedir + root = os.path.join(LIBDIR, 'soundconverter', 'python') + + if not root in sys.path: + sys.path.insert(0, root) + + +def _check_libs(): + try: + import pygtk + pygtk.require('2.0') + import gtk + import gnome + import gnome.ui + gnome.ui.authentication_manager_init() + import gconf + import gobject + gobject.threads_init() + import gnomevfs + except ImportError, error : + print('%s needs pygtk and gnome-python >= 2.24! (Error: "%s")' % (NAME, error)) + sys.exit(1) + except: + pass + + try: + import pygst + pygst.require('0.10') + import gst + except ImportError: + print('%s needs python-gstreamer 0.10!' % NAME) + sys.exit(1) + + print( ' using Gstreamer version: %s' % ( + '.'.join([str(s) for s in gst.gst_version])) ) + + +def check_mime_type(mime): + types = {'vorbis': 'audio/x-vorbis', 'flac': 'audio/x-flac', 'wav' : 'audio/x-wav', + 'mp3': 'audio/mpeg', 'aac': 'audio/x-m4a'} + mime = types.get(mime, mime) + if mime not in types.values(): + print('Cannot use "%s" mime type.' % mime) + print 'Supported shortcuts and mime types:', + for k,v in sorted(types.iteritems()): + print '%s %s' % (k,v), + print() + raise SystemExit + return mime + + +def mode_callback(option, opt, value, parser, **kwargs): + setattr(parser.values, option.dest, kwargs[option.dest]) + + +def parse_command_line(): + parser = OptionParser() + parser.add_option('-b', '--batch', dest='mode', action='callback', + callback=mode_callback, callback_kwargs={'mode':'batch'}, + help=_('Convert in batch mode, from command line, ' + 'without a graphical user\n interface. You ' + 'can use this from, say, shell scripts.')) + parser.add_option('-t', '--tags', dest="mode", action='callback', + callback=mode_callback, callback_kwargs={'mode':'tags'}, + help=_('Show tags for input files instead of converting ' + 'them. This indicates \n command line batch mode ' + 'and disables the graphical user interface.')) + parser.add_option('-m', '--mime-type', dest="cli-output-type", + help=_('Set the output MIME type for batch mode. The default ' + 'is %s. Note that you probably want to set the output ' + 'suffix as well.') % settings['cli-output-type']) + parser.add_option('-q', '--quiet', action="store_true", dest="quiet", + help=_("Be quiet. Don't write normal output, only errors.")) + parser.add_option('-d', '--debug', action="store_true", dest="debug", + help=_('Displays additional debug information')) + parser.add_option('-s', '--suffix', dest="cli-output-suffix", + help=_('Set the output filename suffix for batch mode.' + 'The default is %s . Note that the suffix does not ' + 'affect\n the output MIME type.') % settings['cli-output-suffix']) + parser.add_option('-j', '--jobs', action='store', type='int', dest='jobs', + metavar='NUM', help=_('Force number of concurrent conversions.')) + parser.add_option('--help-gst', action="store_true", dest="_unused", + help=_('Shows GStreamer Options')) + return parser + + +_add_soundconverter_path() + +import soundconverter +soundconverter.NAME = NAME +soundconverter.VERSION = VERSION +soundconverter.GLADEFILE = GLADEFILE + +from soundconverter.settings import settings + +parser = parse_command_line() +# remove gstreamer arguments so only gstreamer sees them. +args = [a for a in sys.argv[1:] if '-gst' not in a] + +options, files = parser.parse_args(args) + +for k in dir(options): + if k.startswith('_'): + continue + if getattr(options, k) is None: + continue + settings[k] = getattr(options, k) + +settings['cli-output-type'] = check_mime_type(settings['cli-output-type']) + +_check_libs() + +import gtk +import gtk.glade +gtk.glade.bindtextdomain(PACKAGE, '@datadir@/locale') +gtk.glade.textdomain(PACKAGE) + +print(' using %d thread(s)' % settings['jobs']) + +from soundconverter.batch import cli_convert_main +from soundconverter.batch import cli_tags_main +from soundconverter.fileoperations import filename_to_uri + +files = map(filename_to_uri, files) + +try: + from soundconverter.ui import gui_main +except: + if settings['mode'] == 'gui': + settings['mode'] = 'batch' + +if settings['mode'] == 'gui': + gui_main(NAME, VERSION, GLADEFILE, files) +elif settings['mode'] == 'tags': + if not files: + print('nothing to do...') + cli_tags_main(files) +else: + if not files: + print('nothing to do...') + cli_convert_main(files) + + + + + @@ -0,0 +1,347 @@ +#! /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 <tromey@cygnus.com>. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, 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 <http://www.gnu.org/licenses/>. + +# 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 <bug-automake@gnu.org> or send patches to +# <automake-patches@gnu.org>. + +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 <bug-automake@gnu.org>. +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: diff --git a/configure b/configure new file mode 100755 index 0000000..a5b6732 --- /dev/null +++ b/configure @@ -0,0 +1,7182 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.69 for soundconverter 2.1.3. +# +# +# 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 \$(( 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'" + + +test -n "$DJDIR" || exec 7<&0 </dev/null +exec 6>&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='soundconverter' +PACKAGE_TARNAME='soundconverter' +PACKAGE_VERSION='2.1.3' +PACKAGE_STRING='soundconverter 2.1.3' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_unique_file="bin/soundconverter.py" +# Factoring default headers for most tests. +ac_includes_default="\ +#include <stdio.h> +#ifdef HAVE_SYS_TYPES_H +# include <sys/types.h> +#endif +#ifdef HAVE_SYS_STAT_H +# include <sys/stat.h> +#endif +#ifdef STDC_HEADERS +# include <stdlib.h> +# include <stddef.h> +#else +# ifdef HAVE_STDLIB_H +# include <stdlib.h> +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include <memory.h> +# endif +# include <string.h> +#endif +#ifdef HAVE_STRINGS_H +# include <strings.h> +#endif +#ifdef HAVE_INTTYPES_H +# include <inttypes.h> +#endif +#ifdef HAVE_STDINT_H +# include <stdint.h> +#endif +#ifdef HAVE_UNISTD_H +# include <unistd.h> +#endif" + +ac_subst_vars='am__EXEEXT_FALSE +am__EXEEXT_TRUE +LTLIBOBJS +LIBOBJS +pkgpyexecdir +pyexecdir +pkgpythondir +pythondir +PYTHON_PLATFORM +PYTHON_EXEC_PREFIX +PYTHON_PREFIX +PYTHON_VERSION +PYTHON +ALL_LINGUAS +INTLTOOL_PERL +MSGMERGE +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 +MKINSTALLDIRS +POSUB +POFILES +PO_IN_DATADIR_FALSE +PO_IN_DATADIR_TRUE +INTLLIBS +INSTOBJEXT +GMOFILES +DATADIRNAME +CATOBJEXT +CATALOGS +XGETTEXT +GMSGFMT +MSGFMT_OPTS +MSGFMT +USE_NLS +EGREP +GREP +CPP +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 +GETTEXT_PACKAGE +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_dependency_tracking +enable_nls +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP +PYTHON' + + +# 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 soundconverter 2.1.3 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/soundconverter] + --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 +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of soundconverter 2.1.3:";; + 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-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build + --disable-nls do not use Native Language Support + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a + nonstandard directory <lib dir> + LIBS libraries to pass to the linker, e.g. -l<library> + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if + you have headers in a nonstandard directory <include dir> + CPP C preprocessor + PYTHON the Python interpreter + +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 +soundconverter configure 2.1.3 +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_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_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 + +# 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_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_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_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 <limits.h> declares $2. + For example, HP-UX 11i <limits.h> declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + <limits.h> exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#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 +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 soundconverter $as_me 2.1.3, 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 + +# 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='soundconverter' + VERSION='2.1.3' + + +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: +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> +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: <http://austingroupbugs.net/view.php?id=542> + +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: <http://www.gnu.org/software/coreutils/>. + +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 + + + + + + +ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS" + +ALL_LINGUAS="ar ast bg br ca cs da de el en_AU en_GB eo es et eu fa fi fr_CA fr gl he hi hu it ja ko lv ml ms nl pl pt_BR pt ru sk sl sr@latin sr@Latn sr sv te tr uk vi zh_CN zh_TW" + +GETTEXT_PACKAGE="soundconverter" + + +cat >>confdefs.h <<_ACEOF +#define GETTEXT_PACKAGE "$GETTEXT_PACKAGE" +_ACEOF + +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 <stdio.h> +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 <stdarg.h> +#include <stdio.h> +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 + + + +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 <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> 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 <limits.h> +#else +# include <assert.h> +#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 <ac_nonexistent.h> +_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 <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> 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 <limits.h> +#else +# include <assert.h> +#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 <ac_nonexistent.h> +_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 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 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 <stdlib.h> +#include <stdarg.h> +#include <string.h> +#include <float.h> + +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 <string.h> + +_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 <stdlib.h> + +_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 <ctype.h> +#include <stdlib.h> +#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 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 <locale.h> +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 <libintl.h> + +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 <libintl.h> + +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 <foo@bar.xx>\n" +"Language-Team: C <LL@li.org>\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 + + + { $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 + + + + + + + + + + + + + if test -n "$PYTHON"; then + # If the user set $PYTHON, use it and don't search something else. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version is >= 2.5" >&5 +$as_echo_n "checking whether $PYTHON version is >= 2.5... " >&6; } + prog="import sys +# split strings by '.' and convert to numeric. Append some zeros +# because we need at least 4 digits for the hex conversion. +# map returns an iterator in Python 3.0 and a list in 2.x +minver = list(map(int, '2.5'.split('.'))) + [0, 0, 0] +minverhex = 0 +# xrange is not present in Python 3.0 and range returns an iterator +for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] +sys.exit(sys.hexversion < minverhex)" + if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5 + ($PYTHON -c "$prog") >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; 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; } + as_fn_error $? "Python interpreter is too old" "$LINENO" 5 +fi + am_display_PYTHON=$PYTHON + else + # Otherwise, try each interpreter until we find one that satisfies + # VERSION. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 2.5" >&5 +$as_echo_n "checking for a Python interpreter with version >= 2.5... " >&6; } +if ${am_cv_pathless_PYTHON+:} false; then : + $as_echo_n "(cached) " >&6 +else + + for am_cv_pathless_PYTHON in python python2 python3 python3.3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do + test "$am_cv_pathless_PYTHON" = none && break + prog="import sys +# split strings by '.' and convert to numeric. Append some zeros +# because we need at least 4 digits for the hex conversion. +# map returns an iterator in Python 3.0 and a list in 2.x +minver = list(map(int, '2.5'.split('.'))) + [0, 0, 0] +minverhex = 0 +# xrange is not present in Python 3.0 and range returns an iterator +for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] +sys.exit(sys.hexversion < minverhex)" + if { echo "$as_me:$LINENO: $am_cv_pathless_PYTHON -c "$prog"" >&5 + ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then : + break +fi + done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5 +$as_echo "$am_cv_pathless_PYTHON" >&6; } + # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. + if test "$am_cv_pathless_PYTHON" = none; then + PYTHON=: + else + # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args. +set dummy $am_cv_pathless_PYTHON; 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_PYTHON+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PYTHON in + [\\/]* | ?:[\\/]*) + ac_cv_path_PYTHON="$PYTHON" # 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_PYTHON="$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 +PYTHON=$ac_cv_path_PYTHON +if test -n "$PYTHON"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 +$as_echo "$PYTHON" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi + am_display_PYTHON=$am_cv_pathless_PYTHON + fi + + + if test "$PYTHON" = :; then + as_fn_error $? "no suitable Python interpreter found" "$LINENO" 5 + else + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5 +$as_echo_n "checking for $am_display_PYTHON version... " >&6; } +if ${am_cv_python_version+:} false; then : + $as_echo_n "(cached) " >&6 +else + am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"` +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 +$as_echo "$am_cv_python_version" >&6; } + PYTHON_VERSION=$am_cv_python_version + + + + PYTHON_PREFIX='${prefix}' + + PYTHON_EXEC_PREFIX='${exec_prefix}' + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5 +$as_echo_n "checking for $am_display_PYTHON platform... " >&6; } +if ${am_cv_python_platform+:} false; then : + $as_echo_n "(cached) " >&6 +else + am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"` +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5 +$as_echo "$am_cv_python_platform" >&6; } + PYTHON_PLATFORM=$am_cv_python_platform + + + # Just factor out some code duplication. + am_python_setup_sysconfig="\ +import sys +# Prefer sysconfig over distutils.sysconfig, for better compatibility +# with python 3.x. See automake bug#10227. +try: + import sysconfig +except ImportError: + can_use_sysconfig = 0 +else: + can_use_sysconfig = 1 +# Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs: +# <https://github.com/pypa/virtualenv/issues/118> +try: + from platform import python_implementation + if python_implementation() == 'CPython' and sys.version[:3] == '2.7': + can_use_sysconfig = 0 +except ImportError: + pass" + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5 +$as_echo_n "checking for $am_display_PYTHON script directory... " >&6; } +if ${am_cv_python_pythondir+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$prefix" = xNONE + then + am_py_prefix=$ac_default_prefix + else + am_py_prefix=$prefix + fi + am_cv_python_pythondir=`$PYTHON -c " +$am_python_setup_sysconfig +if can_use_sysconfig: + sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'}) +else: + from distutils import sysconfig + sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix') +sys.stdout.write(sitedir)"` + case $am_cv_python_pythondir in + $am_py_prefix*) + am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` + am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"` + ;; + *) + case $am_py_prefix in + /usr|/System*) ;; + *) + am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages + ;; + esac + ;; + esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5 +$as_echo "$am_cv_python_pythondir" >&6; } + pythondir=$am_cv_python_pythondir + + + + pkgpythondir=\${pythondir}/$PACKAGE + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5 +$as_echo_n "checking for $am_display_PYTHON extension module directory... " >&6; } +if ${am_cv_python_pyexecdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$exec_prefix" = xNONE + then + am_py_exec_prefix=$am_py_prefix + else + am_py_exec_prefix=$exec_prefix + fi + am_cv_python_pyexecdir=`$PYTHON -c " +$am_python_setup_sysconfig +if can_use_sysconfig: + sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'}) +else: + from distutils import sysconfig + sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix') +sys.stdout.write(sitedir)"` + case $am_cv_python_pyexecdir in + $am_py_exec_prefix*) + am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` + am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"` + ;; + *) + case $am_py_exec_prefix in + /usr|/System*) ;; + *) + am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages + ;; + esac + ;; + esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5 +$as_echo "$am_cv_python_pyexecdir" >&6; } + pyexecdir=$am_cv_python_pyexecdir + + + + pkgpyexecdir=\${pyexecdir}/$PACKAGE + + + + fi + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pygtk 2.24 installed" >&5 +$as_echo_n "checking for pygtk 2.24 installed... " >&6; } +prog=" +import pygtk; pygtk.require('2.0') +import gobject +assert gobject.pygtk_version >= tuple(map(int, '2.24'.split('.'))) +" +if $PYTHON -c "$prog" 1>&5 2>&5; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 +$as_echo "not found" >&6; } + as_fn_error $? "required pygtk version not found" "$LINENO" 5 +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for python-gnome 2.16 installed" >&5 +$as_echo_n "checking for python-gnome 2.16 installed... " >&6; } +prog=" +import pygtk; pygtk.require('2.0') +import gnome +assert gnome.gnome_python_version >= tuple(map(int, '2.16'.split('.'))) +" +if $PYTHON -c "$prog" 1>&5 2>&5; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 +$as_echo "not found" >&6; } + as_fn_error $? "required python-gnome version not found" "$LINENO" 5 +fi + +ac_config_files="$ac_config_files Makefile po/Makefile.in soundconverter/Makefile bin/Makefile data/Makefile data/soundconverter.desktop.in doc/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= +U= +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 "${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 + + ac_config_commands="$ac_config_commands po/stamp-it" + + + +: "${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 soundconverter $as_me 2.1.3, 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="\\ +soundconverter config.status 2.1.3 +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" + + +_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" ;; + "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; + "soundconverter/Makefile") CONFIG_FILES="$CONFIG_FILES soundconverter/Makefile" ;; + "bin/Makefile") CONFIG_FILES="$CONFIG_FILES bin/Makefile" ;; + "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;; + "data/soundconverter.desktop.in") CONFIG_FILES="$CONFIG_FILES data/soundconverter.desktop.in" ;; + "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/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 2>/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 +' <conf$$subs.awk | sed ' +/^[^""]/{ + N + s/\n// +} +' >>$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 +} + ;; + "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 + diff --git a/configure.in b/configure.in new file mode 100644 index 0000000..fbddd25 --- /dev/null +++ b/configure.in @@ -0,0 +1,63 @@ +dnl -*- Mode: autoconf -*- +dnl Process this file with autoconf to produce a configure script. +AC_PREREQ([2.68]) +AC_INIT([soundconverter], [2.1.3]) +AC_CONFIG_SRCDIR([bin/soundconverter.py]) +AM_INIT_AUTOMAKE + +m4_define(required_python_abi, [2.5]) +m4_define(required_python_version, [2.5]) +m4_define(required_pygtk_version, [2.24]) +m4_define(required_pygnome_version, [2.16]) + +dnl put the ACLOCAL flags in the makefile +ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS" + +ALL_LINGUAS="ar ast bg br ca cs da de el en_AU en_GB eo es et eu fa fi fr_CA fr gl he hi hu it ja ko lv ml ms nl pl pt_BR pt ru sk sl sr@latin sr@Latn sr sv te tr uk vi zh_CN zh_TW" + +GETTEXT_PACKAGE="soundconverter" +AC_SUBST([GETTEXT_PACKAGE]) +AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], "$GETTEXT_PACKAGE", [Gettext package]) +AM_GLIB_GNU_GETTEXT +IT_PROG_INTLTOOL + +AM_PATH_PYTHON(required_python_version) + + +dnl Check for correctly installed pygtk +AC_MSG_CHECKING(for pygtk required_pygtk_version installed) +prog=" +import pygtk; pygtk.require('2.0') +import gobject +assert gobject.pygtk_version >= tuple(map(int, 'required_pygtk_version'.split('.'))) +" +if $PYTHON -c "$prog" 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then + AC_MSG_RESULT(found) +else + AC_MSG_RESULT(not found) + AC_MSG_ERROR(required pygtk version not found) +fi + +dnl Check for correctly installed pygnome +AC_MSG_CHECKING(for python-gnome required_pygnome_version installed) +prog=" +import pygtk; pygtk.require('2.0') +import gnome +assert gnome.gnome_python_version >= tuple(map(int, 'required_pygnome_version'.split('.'))) +" +if $PYTHON -c "$prog" 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then + AC_MSG_RESULT(found) +else + AC_MSG_RESULT(not found) + AC_MSG_ERROR(required python-gnome version not found) +fi + +AC_CONFIG_FILES([Makefile + po/Makefile.in + soundconverter/Makefile + bin/Makefile + data/Makefile + data/soundconverter.desktop.in + doc/Makefile + ]) +AC_OUTPUT diff --git a/data/Makefile.am b/data/Makefile.am new file mode 100644 index 0000000..36094ea --- /dev/null +++ b/data/Makefile.am @@ -0,0 +1,39 @@ +## Process this file with automake to produce Makefile.in + +gladedir = $(datadir)/soundconverter +dist_glade_DATA = soundconverter.glade soundconverter-logo.svg + +icondir = $(datadir)/icons/hicolor/48x48/apps +dist_icon_DATA = soundconverter.png + +svgicondir = $(datadir)/icons/hicolor/scalable/apps +dist_svgicon_DATA = soundconverter.svg + + +gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor + +install-data-hook: update-icon-cache +uninstall-hook: update-icon-cache +update-icon-cache: + @-if test -z "$(datadir)"; then \ + echo "Updating Gtk icon cache."; \ + $(gtk_update_icon_cache); \ + else \ + echo "*** Icon cache not updated. After (un)install, run this:"; \ + echo "*** $(gtk_update_icon_cache)"; \ + fi + +desktop_in_files= soundconverter.desktop.in + +desktop_files=$(desktop_in_files:.desktop.in=.desktop) +@INTLTOOL_DESKTOP_RULE@ + +Applicationsdir = $(datadir)/applications +Applications_DATA = $(desktop_files) + +appdatadir = $(datadir)/appdata +dist_appdata_DATA = soundconverter.appdata.xml + +EXTRA_DIST = $(desktop_in_files) $(desktop_files) + +DISTCLEANFILES = $(desktop_files) diff --git a/data/Makefile.in b/data/Makefile.in new file mode 100644 index 0000000..6094725 --- /dev/null +++ b/data/Makefile.in @@ -0,0 +1,605 @@ +# 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 = : +subdir = data +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/mkinstalldirs \ + $(srcdir)/soundconverter.desktop.in.in $(dist_appdata_DATA) \ + $(dist_glade_DATA) $(dist_icon_DATA) $(dist_svgicon_DATA) +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_CLEAN_FILES = soundconverter.desktop.in +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)$(Applicationsdir)" \ + "$(DESTDIR)$(appdatadir)" "$(DESTDIR)$(gladedir)" \ + "$(DESTDIR)$(icondir)" "$(DESTDIR)$(svgicondir)" +DATA = $(Applications_DATA) $(dist_appdata_DATA) $(dist_glade_DATA) \ + $(dist_icon_DATA) $(dist_svgicon_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@ +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@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +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@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +OBJEXT = @OBJEXT@ +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@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +PYTHON = @PYTHON@ +PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ +PYTHON_PLATFORM = @PYTHON_PLATFORM@ +PYTHON_PREFIX = @PYTHON_PREFIX@ +PYTHON_VERSION = @PYTHON_VERSION@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +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_CC = @ac_ct_CC@ +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_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +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@ +pkgpyexecdir = @pkgpyexecdir@ +pkgpythondir = @pkgpythondir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +pyexecdir = @pyexecdir@ +pythondir = @pythondir@ +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@ +gladedir = $(datadir)/soundconverter +dist_glade_DATA = soundconverter.glade soundconverter-logo.svg +icondir = $(datadir)/icons/hicolor/48x48/apps +dist_icon_DATA = soundconverter.png +svgicondir = $(datadir)/icons/hicolor/scalable/apps +dist_svgicon_DATA = soundconverter.svg +gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor +desktop_in_files = soundconverter.desktop.in +desktop_files = $(desktop_in_files:.desktop.in=.desktop) +Applicationsdir = $(datadir)/applications +Applications_DATA = $(desktop_files) +appdatadir = $(datadir)/appdata +dist_appdata_DATA = soundconverter.appdata.xml +EXTRA_DIST = $(desktop_in_files) $(desktop_files) +DISTCLEANFILES = $(desktop_files) +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(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: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +soundconverter.desktop.in: $(top_builddir)/config.status $(srcdir)/soundconverter.desktop.in.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +install-ApplicationsDATA: $(Applications_DATA) + @$(NORMAL_INSTALL) + @list='$(Applications_DATA)'; test -n "$(Applicationsdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(Applicationsdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(Applicationsdir)" || 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)$(Applicationsdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(Applicationsdir)" || exit $$?; \ + done + +uninstall-ApplicationsDATA: + @$(NORMAL_UNINSTALL) + @list='$(Applications_DATA)'; test -n "$(Applicationsdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(Applicationsdir)'; $(am__uninstall_files_from_dir) +install-dist_appdataDATA: $(dist_appdata_DATA) + @$(NORMAL_INSTALL) + @list='$(dist_appdata_DATA)'; test -n "$(appdatadir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(appdatadir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(appdatadir)" || 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)$(appdatadir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(appdatadir)" || exit $$?; \ + done + +uninstall-dist_appdataDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_appdata_DATA)'; test -n "$(appdatadir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(appdatadir)'; $(am__uninstall_files_from_dir) +install-dist_gladeDATA: $(dist_glade_DATA) + @$(NORMAL_INSTALL) + @list='$(dist_glade_DATA)'; test -n "$(gladedir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(gladedir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(gladedir)" || 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)$(gladedir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(gladedir)" || exit $$?; \ + done + +uninstall-dist_gladeDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_glade_DATA)'; test -n "$(gladedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(gladedir)'; $(am__uninstall_files_from_dir) +install-dist_iconDATA: $(dist_icon_DATA) + @$(NORMAL_INSTALL) + @list='$(dist_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-dist_iconDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_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-dist_svgiconDATA: $(dist_svgicon_DATA) + @$(NORMAL_INSTALL) + @list='$(dist_svgicon_DATA)'; test -n "$(svgicondir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(svgicondir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(svgicondir)" || 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)$(svgicondir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(svgicondir)" || exit $$?; \ + done + +uninstall-dist_svgiconDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_svgicon_DATA)'; test -n "$(svgicondir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(svgicondir)'; $(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)$(Applicationsdir)" "$(DESTDIR)$(appdatadir)" "$(DESTDIR)$(gladedir)" "$(DESTDIR)$(icondir)" "$(DESTDIR)$(svgicondir)"; 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) + -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 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-ApplicationsDATA install-dist_appdataDATA \ + install-dist_gladeDATA install-dist_iconDATA \ + install-dist_svgiconDATA + @$(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 + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-ApplicationsDATA uninstall-dist_appdataDATA \ + uninstall-dist_gladeDATA uninstall-dist_iconDATA \ + uninstall-dist_svgiconDATA + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) uninstall-hook +.MAKE: install-am install-data-am install-strip uninstall-am + +.PHONY: all all-am check check-am clean clean-generic cscopelist-am \ + ctags-am distclean distclean-generic distdir dvi dvi-am html \ + html-am info info-am install install-ApplicationsDATA \ + install-am install-data install-data-am install-data-hook \ + install-dist_appdataDATA install-dist_gladeDATA \ + install-dist_iconDATA install-dist_svgiconDATA 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 pdf pdf-am ps ps-am tags-am uninstall \ + uninstall-ApplicationsDATA uninstall-am \ + uninstall-dist_appdataDATA uninstall-dist_gladeDATA \ + uninstall-dist_iconDATA uninstall-dist_svgiconDATA \ + uninstall-hook + + +install-data-hook: update-icon-cache +uninstall-hook: update-icon-cache +update-icon-cache: + @-if test -z "$(datadir)"; then \ + echo "Updating Gtk icon cache."; \ + $(gtk_update_icon_cache); \ + else \ + echo "*** Icon cache not updated. After (un)install, run this:"; \ + echo "*** $(gtk_update_icon_cache)"; \ + fi +@INTLTOOL_DESKTOP_RULE@ + +# 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: diff --git a/data/soundconverter-logo.svg b/data/soundconverter-logo.svg new file mode 100644 index 0000000..af62743 --- /dev/null +++ b/data/soundconverter-logo.svg @@ -0,0 +1,798 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + sodipodi:docname="soundconverter-logo.svg" + sodipodi:docbase="/home/gautier/Desktop/code/soundconverter/trunk/data" + id="svg7032" + height="192" + width="192" + inkscape:export-filename="/home/mordrar/Desktop/SoundConverter.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + version="1.0" + sodipodi:modified="true"> + <defs + id="defs3"> + <linearGradient + inkscape:collect="always" + id="linearGradient2072"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop2074" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop2076" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient2315"> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0" + id="stop2317" /> + <stop + style="stop-color:#ffffff;stop-opacity:0;" + offset="1" + id="stop2319" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2315" + id="radialGradient1358" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.509804,0,16.05392)" + cx="4.3920336" + cy="32.307854" + fx="4.3920336" + fy="32.307854" + r="6.375" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2072" + id="radialGradient2078" + cx="23.25" + cy="35.375" + fx="23.25" + fy="35.375" + r="18.5" + gradientTransform="matrix(1,0,0,0.398649,0,21.2728)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + y2="46.06208" + x2="29.477814" + y1="2.8703361" + x1="25.950134" + gradientTransform="matrix(-0.901805,0.210818,-0.211618,-0.898788,63.54132,37.87423)" + gradientUnits="userSpaceOnUse" + id="linearGradient5528" + xlink:href="#linearGradient5476" + inkscape:collect="always" /> + <linearGradient + gradientTransform="matrix(-0.901805,0.210818,-0.211618,-0.898788,63.54132,37.87423)" + y2="46.06208" + x2="29.477814" + y1="2.8703361" + x1="25.950134" + gradientUnits="userSpaceOnUse" + id="linearGradient5486" + xlink:href="#linearGradient5476" + inkscape:collect="always" /> + <linearGradient + gradientTransform="matrix(1.106909,-0.258404,0.259748,1.101665,-19.66697,12.19788)" + gradientUnits="userSpaceOnUse" + y2="46.06208" + x2="29.477814" + y1="2.8703361" + x1="25.950134" + id="linearGradient5482" + xlink:href="#linearGradient5476" + inkscape:collect="always" /> + <linearGradient + gradientTransform="matrix(1.106909,-0.258404,0.259748,1.101665,-19.66697,12.19788)" + y2="2.8163671" + x2="21.587093" + y1="23.499001" + x1="21.587093" + gradientUnits="userSpaceOnUse" + id="linearGradient5472" + xlink:href="#linearGradient5464" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + id="linearGradient4356"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop4358" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop4360" /> + </linearGradient> + <linearGradient + id="linearGradient4344"> + <stop + style="stop-color:#727e0a;stop-opacity:1;" + offset="0" + id="stop4346" /> + <stop + style="stop-color:#5b6508;stop-opacity:1.0000000;" + offset="1.0000000" + id="stop4348" /> + </linearGradient> + <linearGradient + id="linearGradient4338"> + <stop + id="stop4340" + offset="0.0000000" + style="stop-color:#e9b15e;stop-opacity:1.0000000;" /> + <stop + id="stop4342" + offset="1.0000000" + style="stop-color:#966416;stop-opacity:1.0000000;" /> + </linearGradient> + <linearGradient + id="linearGradient4163"> + <stop + style="stop-color:#3b74bc;stop-opacity:1.0000000;" + offset="0.0000000" + id="stop4165" /> + <stop + style="stop-color:#2d5990;stop-opacity:1.0000000;" + offset="1.0000000" + id="stop4167" /> + </linearGradient> + <linearGradient + id="linearGradient3824"> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0" + id="stop3826" /> + <stop + style="stop-color:#c9c9c9;stop-opacity:1.0000000;" + offset="1.0000000" + id="stop3828" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3816"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop3818" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop3820" /> + </linearGradient> + <linearGradient + id="linearGradient3800"> + <stop + style="stop-color:#f4d9b1;stop-opacity:1.0000000;" + offset="0.0000000" + id="stop3802" /> + <stop + style="stop-color:#df9725;stop-opacity:1.0000000;" + offset="1.0000000" + id="stop3804" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3800" + id="radialGradient3806" + cx="29.344931" + cy="17.064077" + fx="29.344931" + fy="17.064077" + r="9.1620579" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient3822" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3824" + id="linearGradient3830" + x1="30.935921" + y1="29.553486" + x2="30.935921" + y2="35.803486" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient4163" + id="radialGradient4169" + cx="28.089741" + cy="27.203083" + fx="28.089741" + fy="27.203083" + r="13.56536" + gradientTransform="matrix(1.297564,0,0,0.884831,-8.358505,4.940469)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3800" + id="radialGradient4171" + gradientUnits="userSpaceOnUse" + cx="29.344931" + cy="17.064077" + fx="29.344931" + fy="17.064077" + r="9.1620579" + gradientTransform="matrix(0.787998,0,0,0.787998,6.221198,3.617627)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3824" + id="linearGradient4175" + gradientUnits="userSpaceOnUse" + x1="30.935921" + y1="29.553486" + x2="30.935921" + y2="35.803486" + gradientTransform="translate(0.707108,0)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient4179" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3824" + id="linearGradient4326" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-12.41789,-7)" + x1="30.935921" + y1="29.553486" + x2="30.935921" + y2="35.803486" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient4338" + id="radialGradient4328" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.787998,0,0,0.787998,6.221198,3.617627)" + cx="29.344931" + cy="17.064077" + fx="29.344931" + fy="17.064077" + r="9.1620579" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient4330" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3824" + id="linearGradient4332" + gradientUnits="userSpaceOnUse" + x1="30.935921" + y1="29.553486" + x2="30.935921" + y2="35.803486" + gradientTransform="translate(-13.125,-7)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient4336" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient4344" + id="radialGradient4350" + cx="16.214741" + cy="19.836468" + fx="16.214741" + fy="19.836468" + r="13.56536" + gradientTransform="matrix(1,0,0,0.681917,0,8.233773)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4356" + id="linearGradient4362" + x1="20.661695" + y1="35.817974" + x2="22.626925" + y2="36.217758" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.983375,0.181588,-0.181588,0.983375,6.231716,-2.651466)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4356" + id="linearGradient4366" + gradientUnits="userSpaceOnUse" + x1="22.686766" + y1="36.3904" + x2="21.408455" + y2="35.739632" + gradientTransform="matrix(-0.977685,0.210075,0.210075,0.977685,55.1096,-3.945209)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4356" + id="linearGradient4372" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.983375,0.181588,-0.181588,0.983375,-7.07212,-9.82492)" + x1="20.661695" + y1="35.817974" + x2="22.626925" + y2="36.217758" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4356" + id="linearGradient4374" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-0.977685,0.210075,0.210075,0.977685,41.80576,-11.11866)" + x1="22.686766" + y1="36.3904" + x2="21.408455" + y2="35.739632" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4356" + id="linearGradient1366" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-0.977685,0.210075,0.210075,0.977685,41.80576,-11.11866)" + x1="22.686766" + y1="36.3904" + x2="21.408455" + y2="35.739632" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4356" + id="linearGradient1369" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.983375,0.181588,-0.181588,0.983375,-7.07212,-9.82492)" + x1="20.661695" + y1="35.817974" + x2="22.626925" + y2="36.217758" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3824" + id="linearGradient1372" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-12.41789,-7)" + x1="30.935921" + y1="29.553486" + x2="30.935921" + y2="35.803486" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient4344" + id="radialGradient1381" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.681917,0,8.233773)" + cx="16.214741" + cy="19.836468" + fx="16.214741" + fy="19.836468" + r="13.56536" /> + <linearGradient + y2="11.981981" + x2="13.846983" + y1="11.48487" + x1="11.74217" + gradientTransform="matrix(1.276531,0,0,-1.406115,24.24763,33.3374)" + gradientUnits="userSpaceOnUse" + id="linearGradient1493" + xlink:href="#linearGradient15107" + inkscape:collect="always" /> + <radialGradient + r="7.228416" + fy="73.615715" + fx="6.702713" + cy="73.615715" + cx="6.702713" + gradientTransform="scale(1.902215,0.525703)" + gradientUnits="userSpaceOnUse" + id="radialGradient1481" + xlink:href="#linearGradient10691" + inkscape:collect="always" /> + <linearGradient + y2="12.765438" + x2="38.129341" + y1="7.7850504" + x1="26.577936" + gradientTransform="matrix(0,1,-1,0,37.07553,-5.879343)" + gradientUnits="userSpaceOnUse" + id="linearGradient2365" + xlink:href="#linearGradient4274" + inkscape:collect="always" /> + <linearGradient + y2="29.698416" + x2="16.588747" + y1="16.612858" + x1="41.093174" + gradientTransform="matrix(0,0.914114,-0.914114,0,39.78243,-9.748047)" + gradientUnits="userSpaceOnUse" + id="linearGradient2566" + xlink:href="#linearGradient2187" + inkscape:collect="always" /> + <linearGradient + y2="27.145725" + x2="10.112462" + y1="23.332331" + x1="10.791593" + gradientTransform="matrix(0,1,-1,0,37.07553,-5.879343)" + gradientUnits="userSpaceOnUse" + id="linearGradient2564" + xlink:href="#linearGradient6925" + inkscape:collect="always" /> + <linearGradient + y2="30.55784" + x2="12.252101" + y1="15.028743" + x1="15.193591" + gradientTransform="matrix(0,1,-1,0,37.07553,-5.879343)" + gradientUnits="userSpaceOnUse" + id="linearGradient2562" + xlink:href="#linearGradient6901" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + id="linearGradient6925"> + <stop + style="stop-color:#204a87;stop-opacity:1;" + offset="0" + id="stop6927" /> + <stop + style="stop-color:#204a87;stop-opacity:0;" + offset="1" + id="stop6929" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient6901"> + <stop + style="stop-color:#3465a4;stop-opacity:1;" + offset="0" + id="stop6903" /> + <stop + style="stop-color:#3465a4;stop-opacity:0;" + offset="1" + id="stop6905" /> + </linearGradient> + <linearGradient + id="linearGradient2187" + inkscape:collect="always"> + <stop + id="stop2189" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + id="stop2191" + offset="1" + style="stop-color:#ffffff;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient4274"> + <stop + style="stop-color:#ffffff;stop-opacity:0.25490198;" + offset="0.0000000" + id="stop4276" /> + <stop + style="stop-color:#ffffff;stop-opacity:1.0000000;" + offset="1.0000000" + id="stop4278" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient10691"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop10693" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop10695" /> + </linearGradient> + <linearGradient + id="linearGradient15107"> + <stop + id="stop15109" + offset="0.0000000" + style="stop-color:#ffffff;stop-opacity:1.0000000;" /> + <stop + id="stop15111" + offset="1.0000000" + style="stop-color:#e2e2e2;stop-opacity:1.0000000;" /> + </linearGradient> + <linearGradient + id="linearGradient9749"> + <stop + id="stop9751" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + id="stop9753" + offset="1.0000000" + style="stop-color:#ededed;stop-opacity:1.0000000;" /> + </linearGradient> + <linearGradient + id="linearGradient2274"> + <stop + id="stop2276" + offset="0.0000000" + style="stop-color:#000000;stop-opacity:0.12871288;" /> + <stop + id="stop2278" + offset="1.0000000" + style="stop-color:#000000;stop-opacity:0.0000000;" /> + </linearGradient> + <linearGradient + id="linearGradient2624"> + <stop + style="stop-color:#dfe0df;stop-opacity:1;" + offset="0" + id="stop2626" /> + <stop + id="stop2630" + offset="0.23809524" + style="stop-color:#a6b0a6;stop-opacity:1;" /> + <stop + style="stop-color:#b5beb5;stop-opacity:1.0000000;" + offset="1.0000000" + id="stop2628" /> + </linearGradient> + <linearGradient + id="linearGradient5464"> + <stop + id="stop5466" + offset="0" + style="stop-color:#729fcf;stop-opacity:1;" /> + <stop + id="stop5468" + offset="1" + style="stop-color:#afc9e4;stop-opacity:1;" /> + </linearGradient> + <linearGradient + id="linearGradient5476"> + <stop + id="stop5478" + offset="0" + style="stop-color:white;stop-opacity:0.91176468;" /> + <stop + id="stop5480" + offset="1" + style="stop-color:#ffffff;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient5048"> + <stop + id="stop5050" + offset="0" + style="stop-color:black;stop-opacity:0;" /> + <stop + style="stop-color:black;stop-opacity:1;" + offset="0.5" + id="stop5056" /> + <stop + id="stop5052" + offset="1" + style="stop-color:black;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5464" + id="linearGradient7659" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.601294,-0.38845,0.77535,0.298364,2.219182,31.1278)" + x1="21.587093" + y1="23.499001" + x2="21.587093" + y2="2.8163671" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5476" + id="linearGradient7661" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.601294,-0.38845,0.77535,0.298364,2.219182,31.1278)" + x1="25.950134" + y1="2.8703361" + x2="29.477814" + y2="46.06208" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5476" + id="linearGradient7667" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.601294,0.38845,0.77535,-0.298364,-7.315947,28.87026)" + x1="41.028625" + y1="28.153969" + x2="11.601588" + y2="4.9614816" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4163" + id="linearGradient9463" + x1="25.510303" + y1="33.938168" + x2="23.132336" + y2="33.28952" + gradientUnits="userSpaceOnUse" /> + </defs> + <sodipodi:namedview + fill="#9db029" + inkscape:window-y="25" + inkscape:window-x="0" + inkscape:window-height="725" + inkscape:window-width="1280" + inkscape:showpageshadow="false" + inkscape:document-units="px" + inkscape:grid-bbox="true" + showgrid="false" + inkscape:current-layer="layer3" + inkscape:cy="92.809458" + inkscape:cx="96" + inkscape:zoom="2.6354167" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + borderopacity="0.22745098" + bordercolor="#666666" + pagecolor="#ffffff" + id="base" + width="192px" + height="192px" + borderlayer="true" /> + <metadata + id="metadata4"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title>SoundConverter</dc:title> + <dc:creator> + <cc:Agent> + <dc:title>Jakub Steiner</dc:title> + </cc:Agent> + </dc:creator> + <cc:license + rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" /> + <dc:contributor> + <cc:Agent> + <dc:title>Modified by Julien Gascard</dc:title> + </cc:Agent> + </dc:contributor> + </cc:Work> + <cc:License + rdf:about="http://creativecommons.org/licenses/by-sa/2.0/"> + <cc:permits + rdf:resource="http://web.resource.org/cc/Reproduction" /> + <cc:permits + rdf:resource="http://web.resource.org/cc/Distribution" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/Notice" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/Attribution" /> + <cc:permits + rdf:resource="http://web.resource.org/cc/DerivativeWorks" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/ShareAlike" /> + </cc:License> + </rdf:RDF> + </metadata> + <g + inkscape:groupmode="layer" + id="layer2" + inkscape:label="base" + style="display:inline"> + <g + id="g2516" + inkscape:label="Layer 1" + transform="translate(19.98702,13.21449)" /> + </g> + <g + inkscape:groupmode="layer" + inkscape:label="Layer 1" + id="layer1" + style="display:inline"> + <path + sodipodi:type="arc" + style="opacity:0.3;color:#000000;fill:url(#radialGradient2078);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + id="path1344" + sodipodi:cx="23.25" + sodipodi:cy="35.375" + sodipodi:rx="18.5" + sodipodi:ry="7.375" + d="M 41.75 35.375 A 18.5 7.375 0 1 1 4.75,35.375 A 18.5 7.375 0 1 1 41.75 35.375 z" + transform="matrix(4.2154607,0,0,4.2154607,1.723853,3.287462)" /> + <g + id="g7655" + transform="matrix(4.0014169,0,0,4.0014169,4.8241232,-4.463543)"> + <path + style="color:#000000;fill:url(#linearGradient7659);fill-opacity:1;fill-rule:nonzero;stroke:#3465a4;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + d="M 27.928119,32.794186 L 36.49572,32.794186 L 36.495719,26.253258 L 39.721472,26.253258 L 32.421226,17.591154 L 24.391321,26.253258 L 27.928119,26.253258 L 27.928119,32.794186 z " + id="path4587" + inkscape:r_cx="true" + inkscape:r_cy="true" + sodipodi:nodetypes="cccccccc" /> + <path + sodipodi:nodetypes="cccccccc" + inkscape:r_cy="true" + inkscape:r_cx="true" + id="path5474" + d="M 28.908608,31.920858 L 35.560337,31.920858 L 35.560337,25.294476 L 37.71789,25.294476 L 32.36616,18.931254 L 26.592128,25.294476 L 28.908609,25.294476 L 28.908608,31.920858 z " + style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient7661);stroke-width:0.90000004;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> + </g> + <g + id="g7663" + transform="matrix(4.0014169,0,0,4.0014169,0.411753,-4.203999)"> + <path + style="opacity:1;color:#000000;fill:url(#linearGradient9463);fill-opacity:1;fill-rule:nonzero;stroke:#173563;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + d="M 28.091677,27.144524 L 19.723622,27.144524 L 19.723622,33.527565 L 16.150843,33.59243 L 24.136603,42.288576 L 31.324228,33.59243 L 28.091677,33.527565 L 28.091677,27.144524 z " + id="path4589" + inkscape:r_cx="true" + inkscape:r_cy="true" + sodipodi:nodetypes="cccccccc" /> + <path + style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient7667);stroke-width:0.90000004;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + d="M 20.735636,28.0772 L 27.127905,28.0772 L 27.127905,34.508987 L 29.480052,34.508987 L 24.128323,40.807344 L 18.35429,34.508987 L 20.735636,34.508987 L 20.735636,28.0772 z " + id="path7638" + inkscape:r_cx="true" + inkscape:r_cy="true" + sodipodi:nodetypes="cccccccc" /> + </g> + </g> + <g + inkscape:groupmode="layer" + id="layer3" + inkscape:label="note" + style="display:inline"> + <path + sodipodi:nodetypes="cccccccccc" + id="path7042" + d="M 128.02203,24.233881 C 128.02203,24.233881 78.175646,30.418289 78.175646,30.418289 L 77.699801,121.99835 C 70.761344,119.64759 61.601365,119.27099 51.038628,121.44587 C 32.674759,125.22701 19.516007,135.35473 21.530408,143.97224 C 23.544808,152.58974 40.05181,156.5795 58.41568,152.79835 C 75.769213,149.22525 90.807787,139.99262 90.464269,131.72106 L 91.122938,51.495589 C 91.122938,51.495589 127.90304,45.556766 127.90304,45.556766 L 128.02203,24.233881 z " + style="color:#000000;fill:#9db029;fill-opacity:1;fill-rule:nonzero;stroke:#596616;stroke-width:4.21545887;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block" /> + <path + style="opacity:0.51176471;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:4.21545887;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block" + d="M 123.74383,28.872935 C 123.74383,28.872935 82.57754,34.05475 82.57754,34.05475 L 81.851047,127.11597 C 50.673787,117.65668 23.959703,134.84885 25.87534,143.04385 C 28.84484,157.03511 85.773036,148.40404 86.635966,129.81254 L 87.262331,47.724193 C 87.262331,47.724193 123.6137,42.048552 123.6137,42.048552 L 123.74383,28.872935 z " + id="path2311" + sodipodi:nodetypes="cccccccc" /> + <path + sodipodi:type="arc" + style="opacity:0.51176471;color:#000000;fill:url(#radialGradient1358);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" + id="path2313" + sodipodi:cx="5.875" + sodipodi:cy="32.75" + sodipodi:rx="6.375" + sodipodi:ry="3.25" + d="M 12.25 32.75 A 6.375 3.25 0 1 1 -0.5,32.75 A 6.375 3.25 0 1 1 12.25 32.75 z" + transform="matrix(3.0963244,-0.4706387,0.4706387,3.0963244,16.380639,37.144907)" /> + </g> +</svg> diff --git a/data/soundconverter.appdata.xml b/data/soundconverter.appdata.xml new file mode 100644 index 0000000..769e942 --- /dev/null +++ b/data/soundconverter.appdata.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<application> +<id type="desktop">soundconverter.desktop</id> +<licence>CC0</licence> +<description> +<p> +SoundConverter is the leading audio file converter for the GNOME Desktop. +</p> +<p> +SoundConverter is a simple to use, and very fast audio converter. It can convert multiples files at same the time to speed up the conversion. It can also extract the audio from videos. +</p> +</description> +<url type="homepage">http://soundconverter.org/</url> +<screenshots> +<screenshot type="default" width="800" height="450">http://soundconverter.org/screenshot-soundconverter-wide.png</screenshot> +</screenshots> + +<updatecontact>gautier@soundconverter.org</updatecontact> +</application> diff --git a/data/soundconverter.desktop b/data/soundconverter.desktop new file mode 100644 index 0000000..a3dabbb --- /dev/null +++ b/data/soundconverter.desktop @@ -0,0 +1,122 @@ +[Desktop Entry] +Version=1.0 +Name=Sound Converter +Name[ar]=محول صيغ صوتية +Name[ast]=Camudador de soniu +Name[bg]=Sound Converter +Name[br]=Amdroer Sound Converter +Name[ca]=Convertidor de so +Name[cs]=Převaděč zvuků +Name[da]=Lydkonvertering +Name[de]=Sound Converter +Name[el]=Μετατροπέας Ηχου +Name[en_AU]=Sound Converter +Name[en_GB]=Sound Converter +Name[eo]=Sonkonvertilo +Name[es]=Conversor de sonido +Name[et]=Heli teisendaja +Name[eu]=Soinu-bihurtzailea +Name[fi]=Äänitiedostojen muunnin +Name[fr]=Convertisseur audio +Name[fr_CA]=Convertisseur audio +Name[gl]=Sound Converter +Name[he]=ממיר סאונד +Name[hi]=दवानी बदलनेवला +Name[hu]=Hangkonvertáló +Name[it]=Sound Converter +Name[ja]=サウンド変換 +Name[lv]=Skaņas pārveidotājs +Name[ms]=Penukar Bunyi +Name[nl]=Geluidsconverteerder +Name[pl]=Konwerter dźwięku +Name[pt]=Conversor de Som +Name[pt_BR]=Conversor de som +Name[ru]=Аудиоконвертер +Name[sk]=Zvukový konvertor +Name[sl]=Pretvornik zvoka +Name[sr]=Претварач звука +Name[sr@Latn]=Prekoder zvuka +Name[sr@latin]=Prekoder zvuka +Name[sv]=Ljudkonverterare +Name[te]=శబ్ద పరివర్తకం +Name[tr]=Ses Dönüştürücüsü +Name[uk]=Конвертер аудіо +Name[vi]=Bộ chuyển đổi âm thanh +Name[zh_CN]=音频转换器 +Name[zh_TW]=音效轉檔器 +GenericName=Audio Format Converter +GenericName[ar]=محول صيغ الملفات الصوتية +GenericName[ast]=Camudador d'archivos de soniu +GenericName[bg]=Конвертор на аудио формати +GenericName[br]=Amdroer mentrezhoù aodio +GenericName[ca]=Convertidor formats d'àudio +GenericName[cs]=Převaděč zvukových formátů +GenericName[da]=Lydformat-konvertering +GenericName[de]=Audio-Formatumwandlung +GenericName[el]=Μετατροπέας Αρχείων Ηχου +GenericName[en_AU]=Audio Format Converter +GenericName[en_GB]=Audio Format Converter +GenericName[eo]=Konvertilo por sonformoj +GenericName[es]=Conversor de formatos de audio +GenericName[et]=Heli vormingu teisendaja +GenericName[eu]=Audio Formatu Bihurtzailea +GenericName[fi]=Äänitiedostojen muunnin +GenericName[fr]=Convertisseur de fichiers audio +GenericName[fr_CA]=Convertisseur de fichiers audio +GenericName[gl]=Convertedor de formatos de son +GenericName[he]=ממיר פורמטים של אודיו +GenericName[hu]=Audió Formátum Konvertáló +GenericName[it]=Convertitore Formati Audio +GenericName[ja]=オーディオフォーマット変換 +GenericName[lv]=Audio formātu pārveidotājs +GenericName[ms]=Penukar Format Audio +GenericName[nl]=Geluidsformaat-converteerder +GenericName[pl]=Konwerter formatów dźwięku +GenericName[pt]=Conversor de Formatos de Áudio +GenericName[pt_BR]=Conversor de formato de áudio +GenericName[ru]=Конвертер форматов аудио +GenericName[sk]=Prevod formátov zvuku +GenericName[sl]=Pretvornik zapisov zvoka +GenericName[sr]=Претварач формата звука +GenericName[sr@Latn]=Prekodiranje zvučnih formata +GenericName[sr@latin]=Prekodiranje zvučnih formata +GenericName[sv]=Ljudformatskonverterare +GenericName[te]=ఆడియో ఆకృతి పరివర్తకం +GenericName[tr]=Ses Biçimi Dönüştürücüsü +GenericName[uk]=Конвертер аудіоформатів +GenericName[vi]=Bộ chuyển định dạng Audio +GenericName[zh_CN]=音频格式转换程序 +GenericName[zh_TW]=音訊格式轉換工具 +Comment=Converts audio files into other formats +Comment[ar]=تحويل الملفات الصوتية إلى صيغ أخرة +Comment[br]=Amdreiñ ar restroù aodio da mentrezhoù all +Comment[cs]=Převádí audio soubory do různých formátů +Comment[de]=Konvertiert Audio-Dateien in andere Formate +Comment[en_GB]=Converts audio files into other formats +Comment[es]=Convierte archivos de audio a otros formatos +Comment[eu]=Audio fitxategiak beste formatuetara bihurtzen ditu +Comment[fi]=Muunna äänitiedostoja eri tiedostomuotoihin +Comment[fr]=Convertit des fichiers audio en d'autres formats +Comment[fr_CA]=Convertit des fichiers audio en d'autres formats +Comment[gl]=Converte os ficheiros de son a outros formatos +Comment[it]=Converti file audio in altri formati +Comment[lv]=Pārveido audio datnes citos formātos +Comment[ms]=Tukar fail audio kepada format lain +Comment[nl]=Converteert geluidsbestanden naar andere formaten +Comment[pl]=Konwertuje pliki dźwiękowe do innych formatów +Comment[pt_BR]=Converter arquivos de áudio para outros formatos +Comment[ru]=Конвертирует аудиофайлы в другие форматы +Comment[sr]=Претварајте звучне датотеке у друге формате +Comment[sr@latin]=Konvertuje audio fajlove u druge formate +Comment[sv]=Konverterar ljudfiler till andra format +Comment[uk]=Конвертує звукові файли в інші формати +Comment[zh_CN]=将音频文件转为其他格式 +Comment[zh_TW]=將音效檔轉換至不同格式 +Icon=soundconverter +MimeType=application/x-ogg;application/ogg;audio/x-mp3;audio/x-scpls;audio/x-mpeg;audio/mpeg;audio/x-mpegurl;application/x-flac;audio/x-wav;audio/flac; +Exec=soundconverter %U +Terminal=false +Type=Application +StartupNotify=true +Categories=GNOME;GTK;AudioVideo;Audio; + diff --git a/data/soundconverter.desktop.in b/data/soundconverter.desktop.in new file mode 100644 index 0000000..965dd06 --- /dev/null +++ b/data/soundconverter.desktop.in @@ -0,0 +1,13 @@ +[Desktop Entry] +Version=1.0 +_Name=Sound Converter +_GenericName=Audio Format Converter +_Comment=Converts audio files into other formats +Icon=soundconverter +MimeType=application/x-ogg;application/ogg;audio/x-mp3;audio/x-scpls;audio/x-mpeg;audio/mpeg;audio/x-mpegurl;application/x-flac;audio/x-wav;audio/flac; +Exec=soundconverter %U +Terminal=false +Type=Application +StartupNotify=true +Categories=GNOME;GTK;AudioVideo;Audio; + diff --git a/data/soundconverter.desktop.in.in b/data/soundconverter.desktop.in.in new file mode 100644 index 0000000..965dd06 --- /dev/null +++ b/data/soundconverter.desktop.in.in @@ -0,0 +1,13 @@ +[Desktop Entry] +Version=1.0 +_Name=Sound Converter +_GenericName=Audio Format Converter +_Comment=Converts audio files into other formats +Icon=soundconverter +MimeType=application/x-ogg;application/ogg;audio/x-mp3;audio/x-scpls;audio/x-mpeg;audio/mpeg;audio/x-mpegurl;application/x-flac;audio/x-wav;audio/flac; +Exec=soundconverter %U +Terminal=false +Type=Application +StartupNotify=true +Categories=GNOME;GTK;AudioVideo;Audio; + diff --git a/data/soundconverter.glade b/data/soundconverter.glade new file mode 100644 index 0000000..d671748 --- /dev/null +++ b/data/soundconverter.glade @@ -0,0 +1,2625 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk+" version="2.20"/> + <object class="GtkAboutDialog" id="aboutdialog"> + <property name="can_focus">False</property> + <property name="border_width">5</property> + <property name="destroy_with_parent">True</property> + <property name="icon_name">soundconverter</property> + <property name="type_hint">normal</property> + <property name="program_name">SoundConverter</property> + <property name="copyright">© 2004 Lars Wirzenius <liw@iki.fi> +© 2005-2012 Gautier Portet <gautier@soundconverter.org></property> + <property name="comments" translatable="yes">GNOME-powered Sound Conversion</property> + <property name="website">http://soundconverter.org</property> + <property name="website_label" translatable="yes">Website</property> + <property name="authors"></property> + <property name="logo">soundconverter-logo.svg</property> + <signal name="response" handler="on_aboutdialog_response" swapped="no"/> + <child internal-child="vbox"> + <object class="GtkBox" id="dialog-vbox1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <property name="spacing">2</property> + <child internal-child="action_area"> + <object class="GtkButtonBox" id="dialog-action_area1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="layout_style">end</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> + <child> + <placeholder/> + </child> + </object> + </child> + </object> + <object class="GtkAccelGroup" id="accelgroup1a"/> + <object class="GtkAdjustment" id="adjustment1a"> + <property name="lower">32</property> + <property name="upper">320</property> + <property name="value">192</property> + <property name="step_increment">32</property> + <property name="page_increment">64</property> + <property name="page_size">64</property> + </object> + <object class="GtkAdjustment" id="adjustment2"> + <property name="upper">100</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> + <object class="GtkAdjustment" id="adjustment2a"> + <property name="upper">10</property> + <property name="value">4</property> + <property name="step_increment">1</property> + </object> + <object class="GtkAdjustment" id="adjustment3a"> + <property name="upper">10</property> + <property name="value">6</property> + <property name="step_increment">1</property> + </object> + <object class="GtkDialog" id="custom_file_chooser"> + <property name="can_focus">False</property> + <property name="title" translatable="yes">dialog1</property> + <property name="default_width">500</property> + <property name="default_height">400</property> + <property name="icon_name">soundconverter</property> + <property name="type_hint">dialog</property> + <child internal-child="vbox"> + <object class="GtkBox" id="dialog-vbox8"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child internal-child="action_area"> + <object class="GtkButtonBox" id="dialog-action_area8"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="cancelbutton1"> + <property name="label">gtk-cancel</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="button7"> + <property name="label">gtk-open</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkFileChooserWidget" id="filechooserwidget"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="border_width">5</property> + <property name="local_only">False</property> + <property name="select_multiple">True</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="hbox20"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="border_width">5</property> + <child> + <object class="GtkLabel" id="label344"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Filter </property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkComboBox" id="filtercombo"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">3</property> + </packing> + </child> + </object> + </child> + <action-widgets> + <action-widget response="-6">cancelbutton1</action-widget> + <action-widget response="-5">button7</action-widget> + </action-widgets> + </object> + <object class="GtkDialog" id="error_dialog"> + <property name="can_focus">False</property> + <property name="title" translatable="yes">Error</property> + <property name="modal">True</property> + <property name="window_position">center</property> + <property name="icon_name">soundconverter</property> + <property name="type_hint">dialog</property> + <property name="urgency_hint">True</property> + <child internal-child="vbox"> + <object class="GtkBox" id="dialog-vbox6"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child internal-child="action_area"> + <object class="GtkButtonBox" id="dialog-action_area6"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="closebutton1"> + <property name="label">gtk-close</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="hbox14"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkImage" id="image3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="yalign">0</property> + <property name="xpad">12</property> + <property name="ypad">12</property> + <property name="stock">gtk-dialog-error</property> + <property name="icon-size">6</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkVBox" id="vbox11"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkLabel" id="primary_error_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="ypad">6</property> + <property name="label">asdf</property> + <property name="use_markup">True</property> + <property name="wrap">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="secondary_error_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="yalign">0</property> + <property name="ypad">6</property> + <property name="label">zxcv</property> + <property name="use_markup">True</property> + <property name="wrap">True</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> + </child> + <action-widgets> + <action-widget response="-7">closebutton1</action-widget> + </action-widgets> + </object> + <object class="GtkDialog" id="existsdialog"> + <property name="can_focus">False</property> + <property name="title" translatable="yes">File exists already</property> + <property name="icon_name">soundconverter</property> + <property name="type_hint">dialog</property> + <child internal-child="vbox"> + <object class="GtkBox" id="dialog-vbox3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child internal-child="action_area"> + <object class="GtkButtonBox" id="dialog-action_area3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="button3"> + <property name="label">gtk-cancel</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="overwritebutton"> + <property name="label" translatable="yes">_Overwrite</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkButton" id="skipbutton"> + <property name="label" translatable="yes">_Skip</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="has_focus">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">2</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="hbox3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkImage" id="image1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xpad">6</property> + <property name="stock">gtk-dialog-warning</property> + <property name="icon-size">6</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkVBox" id="vbox18"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkLabel" id="label33"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="xpad">6</property> + <property name="ypad">6</property> + <property name="label" translatable="yes"><big><b>File exists already</b></big> +</property> + <property name="use_markup">True</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="exists_message"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="xpad">6</property> + <property name="label">The output file XXX for ARTIST, ALBUM, TITLE exists already. Do you want to skip or overwrite?</property> + <property name="use_markup">True</property> + <property name="wrap">True</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="apply_to_all"> + <property name="label" translatable="yes">_Apply to entire queue</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="padding">4</property> + <property name="position">2</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> + </child> + <action-widgets> + <action-widget response="-6">button3</action-widget> + <action-widget response="1">overwritebutton</action-widget> + <action-widget response="0">skipbutton</action-widget> + </action-widgets> + </object> + <object class="GtkImage" id="image1a"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="stock">gtk-add</property> + </object> + <object class="GtkImage" id="image2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xpad">6</property> + <property name="stock">gtk-dialog-warning</property> + <property name="icon-size">1</property> + </object> + <object class="GtkImage" id="image2a"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="stock">gtk-directory</property> + </object> + <object class="GtkImage" id="image3a"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="stock">gtk-clear</property> + </object> + <object class="GtkImage" id="image5"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="yalign">0</property> + <property name="xpad">12</property> + <property name="ypad">12</property> + <property name="stock">gtk-dialog-error</property> + <property name="icon-size">1</property> + </object> + <object class="GtkAdjustment" id="jobs_adjustment"> + <property name="lower">1</property> + <property name="upper">100</property> + <property name="step_increment">1</property> + <property name="page_increment">1</property> + </object> + <object class="GtkListStore" id="liststore10"> + <columns> + <!-- column-name item --> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0" translatable="yes">artist/album</col> + </row> + <row> + <col id="0" translatable="yes">artist - album</col> + </row> + </data> + </object> + <object class="GtkListStore" id="liststore11"/> + <object class="GtkListStore" id="liststore2"> + <columns> + <!-- column-name item --> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0" translatable="yes">Very Low</col> + </row> + <row> + <col id="0" translatable="yes">Low</col> + </row> + <row> + <col id="0" translatable="yes">Normal</col> + </row> + <row> + <col id="0" translatable="yes">High</col> + </row> + <row> + <col id="0" translatable="yes">Very High</col> + </row> + <row> + <col id="0" translatable="yes">Insanely High</col> + </row> + </data> + </object> + <object class="GtkListStore" id="liststore3"> + <columns> + <!-- column-name item --> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0" translatable="yes">8 bits (very low quality)</col> + </row> + <row> + <col id="0" translatable="yes">16 bits (default)</col> + </row> + <row> + <col id="0" translatable="yes">32 bits</col> + </row> + </data> + </object> + <object class="GtkListStore" id="liststore4"> + <columns> + <!-- column-name item --> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0" translatable="yes">Less (Faster)</col> + </row> + <row> + <col id="0" translatable="yes">Default</col> + </row> + <row> + <col id="0" translatable="yes">Better (Slower)</col> + </row> + </data> + </object> + <object class="GtkListStore" id="liststore5"> + <columns> + <!-- column-name item --> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0" translatable="yes">Very Low</col> + </row> + <row> + <col id="0" translatable="yes">Low</col> + </row> + <row> + <col id="0" translatable="yes">Normal</col> + </row> + <row> + <col id="0" translatable="yes">High</col> + </row> + <row> + <col id="0" translatable="yes">Very High</col> + </row> + <row> + <col id="0" translatable="yes">Insanely High</col> + </row> + </data> + </object> + <object class="GtkListStore" id="liststore6"> + <columns> + <!-- column-name item --> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0" translatable="yes">Constant (CBR)</col> + </row> + <row> + <col id="0" translatable="yes">Average (ABR)</col> + </row> + <row> + <col id="0" translatable="yes">Variable (VBR) - Best quality</col> + </row> + </data> + </object> + <object class="GtkListStore" id="liststore7"> + <columns> + <!-- column-name item --> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0" translatable="yes">Very Low</col> + </row> + <row> + <col id="0" translatable="yes">Low</col> + </row> + <row> + <col id="0" translatable="yes">Normal</col> + </row> + <row> + <col id="0" translatable="yes">High</col> + </row> + <row> + <col id="0" translatable="yes">Very High</col> + </row> + <row> + <col id="0" translatable="yes">Insanely High</col> + </row> + </data> + </object> + <object class="GtkListStore" id="liststore8"> + <columns> + <!-- column-name item --> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0" translatable="yes">Ogg Vorbis (.ogg)</col> + </row> + <row> + <col id="0" translatable="yes">MP3 (.mp3)</col> + </row> + <row> + <col id="0" translatable="yes">FLAC Lossless (.flac)</col> + </row> + <row> + <col id="0" translatable="yes">MS Wave (.wav)</col> + </row> + <row> + <col id="0" translatable="yes">AAC (.m4a)</col> + </row> + <row> + <col id="0" translatable="yes">Opus (.opus)</col> + </row> + <row> + <col id="0" translatable="yes">GNOME Audio Profile</col> + </row> + </data> + </object> + <object class="GtkListStore" id="liststore9"> + <columns> + <!-- column-name item --> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0" translatable="yes">track_number - track_title</col> + </row> + <row> + <col id="0" translatable="yes">track_title</col> + </row> + <row> + <col id="0" translatable="yes"></col> + </row> + </data> + </object> + <object class="GtkListStore" id="liststore_resample"> + <columns> + <!-- column-name gchararray1 --> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0">8000</col> + </row> + <row> + <col id="0">11025</col> + </row> + <row> + <col id="0">22050</col> + </row> + <row> + <col id="0">44100</col> + </row> + <row> + <col id="0">48000</col> + </row> + <row> + <col id="0">72000</col> + </row> + <row> + <col id="0">96000</col> + </row> + <row> + <col id="0">128000</col> + </row> + </data> + </object> + <object class="GtkDialog" id="prefsdialog"> + <property name="can_focus">False</property> + <property name="title" translatable="yes">Preferences</property> + <property name="destroy_with_parent">True</property> + <property name="icon_name">soundconverter</property> + <property name="type_hint">dialog</property> + <child internal-child="vbox"> + <object class="GtkBox" id="dialog-vbox7"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child internal-child="action_area"> + <object class="GtkButtonBox" id="dialog-action_area7"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="closebutton2"> + <property name="label">gtk-close</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkVBox" id="vbox12"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="border_width">12</property> + <property name="spacing">12</property> + <child> + <object class="GtkFrame" id="frame1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <object class="GtkAlignment" id="alignment2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="top_padding">4</property> + <property name="left_padding">12</property> + <child> + <object class="GtkTable" id="table2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="n_rows">4</property> + <property name="n_columns">2</property> + <property name="column_spacing">4</property> + <property name="row_spacing">4</property> + <child> + <object class="GtkComboBox" id="subfolder_pattern"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="model">liststore10</property> + <signal name="changed" handler="on_subfolder_pattern_changed" swapped="no"/> + <child> + <object class="GtkCellRendererText" id="cellrenderertext10"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="x_options"></property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkRadioButton" id="same_folder_as_input"> + <property name="label" translatable="yes">Same folder as the input file</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + <signal name="toggled" handler="on_same_folder_as_input_toggled" swapped="no"/> + </object> + <packing> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkButton" id="choose_folder"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <signal name="clicked" handler="on_choose_folder_clicked" swapped="no"/> + <child> + <object class="GtkAlignment" id="alignment5"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xscale">0</property> + <property name="yscale">0</property> + <child> + <object class="GtkHBox" id="hbox15"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">2</property> + <child> + <object class="GtkImage" id="image4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="stock">gtk-open</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label19"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Choose...</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + </object> + </child> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options"></property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkRadioButton" id="into_selected_folder"> + <property name="label" translatable="yes">Into a specified folder</property> + <property name="width_request">320</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + <property name="group">same_folder_as_input</property> + <signal name="toggled" handler="on_into_selected_folder_toggled" swapped="no"/> + </object> + <packing> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options"></property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="create_subfolders"> + <property name="label" translatable="yes">Create subfolders: </property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + <signal name="toggled" handler="on_create_subfolders_toggled" swapped="no"/> + </object> + <packing> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + <property name="x_padding">12</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="delete_original"> + <property name="label" translatable="yes">Delete original file</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + <signal name="toggled" handler="on_delete_original_toggled" swapped="no"/> + </object> + <packing> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel" id="label16"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes"><b>Where to place results?</b></property> + <property name="use_markup">True</property> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkFrame" id="frame2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <object class="GtkAlignment" id="alignment3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="top_padding">4</property> + <property name="left_padding">12</property> + <child> + <object class="GtkVBox" id="vbox13"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">4</property> + <child> + <object class="GtkComboBox" id="basename_pattern"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="model">liststore9</property> + <signal name="changed" handler="on_basename_pattern_changed" swapped="no"/> + <child> + <object class="GtkCellRendererText" id="cellrenderertext9"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="custom_filename_box"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">4</property> + <child> + <object class="GtkLabel" id="label34"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Filename pattern: </property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="custom_filename"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="invisible_char">●</property> + <property name="primary_icon_activatable">False</property> + <property name="secondary_icon_activatable">False</property> + <signal name="changed" handler="on_custom_filename_changed" swapped="no"/> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="replace_messy_chars"> + <property name="label" translatable="yes">Replace all messy characters</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="tooltip_text" translatable="yes">Replace \, ?, %, *, :, |, ', ", <, > and � with _</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + <signal name="toggled" handler="on_replace_messy_chars_toggled" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="hbox18"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">4</property> + <child> + <object class="GtkLabel" id="label26"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes"><i>Example filename:</i></property> + <property name="use_markup">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="example_filename"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label">label27</property> + <property name="use_markup">True</property> + <property name="wrap">True</property> + <property name="ellipsize">start</property> + <property name="single_line_mode">True</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">3</property> + </packing> + </child> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel" id="label17"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes"><b>How to name files?</b></property> + <property name="use_markup">True</property> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkFrame" id="frame3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <object class="GtkAlignment" id="alignment4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="top_padding">4</property> + <property name="left_padding">12</property> + <child> + <object class="GtkVBox" id="vbox14"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">6</property> + <child> + <object class="GtkHBox" id="hbox19"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel" id="label32"> + <property name="width_request">100</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Format: </property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkComboBox" id="output_mime_type"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="model">liststore8</property> + <signal name="changed" handler="on_output_mime_type_changed" swapped="no"/> + <child> + <object class="GtkCellRendererText" id="cellrenderertext8"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child> + <object class="GtkNotebook" id="quality_tabs"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="tab_pos">bottom</property> + <property name="show_border">False</property> + <child> + <object class="GtkVBox" id="vbox21"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">4</property> + <child> + <object class="GtkTable" id="table3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="n_rows">3</property> + <property name="n_columns">2</property> + <property name="column_spacing">6</property> + <property name="row_spacing">6</property> + <child> + <object class="GtkComboBox" id="vorbis_quality"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="model">liststore7</property> + <signal name="changed" handler="on_vorbis_quality_changed" swapped="no"/> + <child> + <object class="GtkCellRendererText" id="cellrenderertext7"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label29"> + <property name="width_request">100</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Quality:</property> + </object> + <packing> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="vorbis_oga_extension"> + <property name="label" translatable="yes">Use .oga extension</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + <signal name="toggled" handler="on_vorbis_oga_extension_toggled" swapped="no"/> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkHScale" id="hscale_vorbis_quality"> + <property name="can_focus">True</property> + <property name="restrict_to_fill_level">False</property> + <property name="digits">0</property> + <property name="value_pos">right</property> + <signal name="value-changed" handler="on_hscale_vorbis_quality_value_changed" swapped="no"/> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + </object> + </child> + <child type="tab"> + <object class="GtkLabel" id="label22"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Ogg</property> + </object> + <packing> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <object class="GtkTable" id="table4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="n_rows">4</property> + <property name="n_columns">2</property> + <property name="column_spacing">6</property> + <property name="row_spacing">4</property> + <child> + <object class="GtkComboBox" id="mp3_mode"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="model">liststore6</property> + <signal name="changed" handler="on_mp3_mode_changed" swapped="no"/> + <child> + <object class="GtkCellRendererText" id="cellrenderertext6"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkComboBox" id="mp3_quality"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="model">liststore5</property> + <signal name="changed" handler="on_mp3_quality_changed" swapped="no"/> + <child> + <object class="GtkCellRendererText" id="cellrenderertext5"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label30"> + <property name="width_request">100</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Bitrate mode:</property> + </object> + <packing> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label31"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Quality:</property> + </object> + <packing> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkHScale" id="hscale_mp3"> + <property name="can_focus">True</property> + <property name="restrict_to_fill_level">False</property> + <property name="digits">0</property> + <property name="value_pos">right</property> + <signal name="value-changed" handler="on_hscale_mp3_value_changed" swapped="no"/> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="hbox1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <object class="GtkSpinButton" id="spinbutton1"> + <property name="can_focus">True</property> + <property name="invisible_char">●</property> + <property name="primary_icon_activatable">False</property> + <property name="secondary_icon_activatable">False</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + <child type="tab"> + <object class="GtkLabel" id="label23"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">MP3</property> + </object> + <packing> + <property name="position">1</property> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <object class="GtkTable" id="table1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="n_rows">2</property> + <property name="n_columns">2</property> + <property name="column_spacing">6</property> + <property name="row_spacing">4</property> + <child> + <object class="GtkLabel" id="label1"> + <property name="width_request">100</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Compression:</property> + </object> + <packing> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkComboBox" id="flac_compression"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="model">liststore4</property> + <signal name="changed" handler="on_flac_compression_changed" swapped="no"/> + <child> + <object class="GtkCellRendererText" id="cellrenderertext4"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="position">2</property> + </packing> + </child> + <child type="tab"> + <object class="GtkLabel" id="label24"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">FLAC</property> + </object> + <packing> + <property name="position">2</property> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <object class="GtkTable" id="table6"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="n_rows">2</property> + <property name="n_columns">2</property> + <property name="column_spacing">6</property> + <property name="row_spacing">4</property> + <child> + <object class="GtkLabel" id="label2"> + <property name="width_request">100</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Sample width:</property> + </object> + <packing> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkComboBox" id="wav_sample_width"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="model">liststore3</property> + <signal name="changed" handler="on_wav_sample_width_changed" swapped="no"/> + <child> + <object class="GtkCellRendererText" id="cellrenderertext3"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="position">3</property> + </packing> + </child> + <child type="tab"> + <object class="GtkLabel" id="label25"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">WAV</property> + </object> + <packing> + <property name="position">3</property> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <object class="GtkTable" id="table5"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="n_rows">2</property> + <property name="n_columns">2</property> + <property name="column_spacing">6</property> + <property name="row_spacing">6</property> + <child> + <object class="GtkLabel" id="label38"> + <property name="width_request">100</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Quality:</property> + </object> + <packing> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkComboBox" id="aac_quality"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="model">liststore2</property> + <signal name="changed" handler="on_aac_quality_changed" swapped="no"/> + <child> + <object class="GtkCellRendererText" id="cellrenderertext2"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="position">4</property> + </packing> + </child> + <child type="tab"> + <object class="GtkLabel" id="label111"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">AAC</property> + </object> + <packing> + <property name="position">4</property> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <object class="GtkTable" id="table5b"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="n_rows">2</property> + <property name="n_columns">2</property> + <property name="column_spacing">6</property> + <property name="row_spacing">6</property> + <child> + <object class="GtkLabel" id="label38b"> + <property name="width_request">100</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Quality:</property> + </object> + <packing> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkComboBox" id="opus_quality"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="model">liststore2</property> + <signal name="changed" handler="on_opus_quality_changed" swapped="no"/> + <child> + <object class="GtkCellRendererText" id="cellrenderertext2b"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="position">5</property> + </packing> + </child> + <child type="tab"> + <object class="GtkLabel" id="label111b"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Opus</property> + </object> + <packing> + <property name="position">5</property> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <object class="GtkTable" id="table7"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="n_rows">2</property> + <property name="n_columns">2</property> + <property name="column_spacing">6</property> + <property name="row_spacing">6</property> + <child> + <object class="GtkLabel" id="label4"> + <property name="width_request">100</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Profile:</property> + </object> + <packing> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkComboBox" id="gstprofile"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="model">liststore11</property> + <signal name="changed" handler="on_gstprofile_changed" swapped="no"/> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="position">6</property> + </packing> + </child> + <child type="tab"> + <object class="GtkLabel" id="label3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">gst-profile</property> + </object> + <packing> + <property name="position">6</property> + <property name="tab_fill">False</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="aprox_bitrate"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label">~xxx kbps</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">3</property> + </packing> + </child> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel" id="label18"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes"><b>Type of result?</b></property> + <property name="use_markup">True</property> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="resample_hbox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">4</property> + <child> + <object class="GtkCheckButton" id="resample_toggle"> + <property name="label" translatable="yes">Resample</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + <signal name="toggled" handler="on_resample_toggle" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="padding">12</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkComboBox" id="resample_rate"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="model">liststore_resample</property> + <property name="entry_text_column">0</property> + <signal name="changed" handler="on_resample_rate_changed" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="resample_Hz_entry"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label">Hz</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">3</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="mono_hbox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">4</property> + <child> + <object class="GtkCheckButton" id="force_mono"> + <property name="label" translatable="yes">Force mono output</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + <signal name="toggled" handler="on_force_mono_toggle" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="padding">12</property> + <property name="position">0</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">4</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="threads_hbox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">4</property> + <child> + <object class="GtkCheckButton" id="jobs"> + <property name="label" translatable="yes">Limit number of parallel jobs</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + <signal name="toggled" handler="on_jobs_toggled" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="padding">12</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="jobs_spinbutton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="invisible_char">•</property> + <property name="primary_icon_activatable">False</property> + <property name="secondary_icon_activatable">False</property> + <property name="adjustment">jobs_adjustment</property> + <property name="climb_rate">1</property> + <signal name="value-changed" handler="on_jobs_spinbutton_value_changed" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">5</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label112"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">6</property> + </packing> + </child> + <child> + <object class="GtkVBox" id="lame_absent"> + <property name="can_focus">False</property> + <property name="spacing">4</property> + <child> + <object class="GtkHSeparator" id="hseparator1"> + <property name="can_focus">False</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="hbox26"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkHBox" id="lame_absent_"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">12</property> + <child> + <object class="GtkImage" id="image23"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="icon_name">gtk-dialog-info</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label35"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">MP3 Encoder is not present.</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child> + <object class="GtkLinkButton" id="linkbutton1"> + <property name="label" translatable="yes">Read how to install</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="has_tooltip">True</property> + <property name="use_action_appearance">False</property> + <property name="relief">none</property> + <property name="uri">http://soundconverter.org/gstreamer-mp3-encoding-howto/</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">3</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">7</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> + </child> + <action-widgets> + <action-widget response="-7">closebutton2</action-widget> + </action-widgets> + </object> + <object class="GtkFileChooserDialog" id="target_folder_chooser"> + <property name="can_focus">False</property> + <property name="border_width">5</property> + <property name="title" translatable="yes">Where to place results?</property> + <property name="type_hint">dialog</property> + <property name="action">select-folder</property> + <property name="local_only">False</property> + <child internal-child="vbox"> + <object class="GtkBox" id="dialog-vbox5"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <property name="spacing">24</property> + <child internal-child="action_area"> + <object class="GtkButtonBox" id="dialog-action_area5"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="button5"> + <property name="label">gtk-cancel</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="button6"> + <property name="label">gtk-open</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> + </object> + </child> + <action-widgets> + <action-widget response="-6">button5</action-widget> + <action-widget response="-5">button6</action-widget> + </action-widgets> + </object> + <object class="GtkWindow" id="window"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="title" translatable="yes">SoundConverter</property> + <property name="window_position">center</property> + <property name="default_width">500</property> + <property name="default_height">500</property> + <property name="icon_name">soundconverter</property> + <signal name="delete-event" handler="on_window_delete_event" swapped="no"/> + <child> + <object class="GtkVBox" id="vbox1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkMenuBar" id="menubar"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkMenuItem" id="file1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="use_action_appearance">False</property> + <property name="label" translatable="yes">_File</property> + <property name="use_underline">True</property> + <child type="submenu"> + <object class="GtkMenu" id="file2_menu1"> + <property name="can_focus">False</property> + <child> + <object class="GtkImageMenuItem" id="add"> + <property name="label">_Add File</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + <property name="image">image2</property> + <property name="use_stock">False</property> + <accelerator key="O" signal="activate" modifiers="GDK_CONTROL_MASK"/> + <signal name="activate" handler="on_add_activate" swapped="no"/> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="add_folder"> + <property name="label">Add _Folder</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + <property name="use_stock">False</property> + <accelerator key="F" signal="activate" modifiers="GDK_CONTROL_MASK"/> + <signal name="activate" handler="on_addfolder_activate" swapped="no"/> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="remove"> + <property name="label">gtk-remove</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + <accelerator key="Delete" signal="activate"/> + <signal name="activate" handler="on_remove_activate" swapped="no"/> + </object> + </child> + <child> + <object class="GtkSeparatorMenuItem" id="separator1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="quit"> + <property name="label">gtk-quit</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + <accelerator key="Q" signal="activate" modifiers="GDK_CONTROL_MASK"/> + <signal name="activate" handler="on_quit_activate" swapped="no"/> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkMenuItem" id="edit1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="use_action_appearance">False</property> + <property name="label" translatable="yes">_Edit</property> + <property name="use_underline">True</property> + <child type="submenu"> + <object class="GtkMenu" id="edit2_menu1"> + <property name="can_focus">False</property> + <child> + <object class="GtkImageMenuItem" id="select_all"> + <property name="label">gtk-select-all</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="clearlist"> + <property name="label">_Clear List</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + <property name="image">image5</property> + <property name="use_stock">False</property> + <accelerator key="C" signal="activate" modifiers="GDK_CONTROL_MASK"/> + <signal name="activate" handler="on_clearlist_activate" swapped="no"/> + </object> + </child> + <child> + <object class="GtkSeparatorMenuItem" id="separator2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="preferences"> + <property name="label">gtk-preferences</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + <signal name="activate" handler="on_preferences_activate" swapped="no"/> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkMenuItem" id="help1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="use_action_appearance">False</property> + <property name="label" translatable="yes">_Help</property> + <property name="use_underline">True</property> + <child type="submenu"> + <object class="GtkMenu" id="help2_menu1"> + <property name="can_focus">False</property> + <child> + <object class="GtkImageMenuItem" id="about_logo"> + <property name="label">gtk-about</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + <signal name="activate" handler="on_about_activate" swapped="no"/> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <object class="GtkToolbar" id="toolbar2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="toolbar_style">both</property> + <child> + <object class="GtkToolButton" id="convert_button"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="use_action_appearance">False</property> + <property name="is_important">True</property> + <property name="stock_id">gtk-convert</property> + <signal name="clicked" handler="on_convert_button_clicked" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkSeparatorToolItem" id="separatortoolitem1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="expand">False</property> + </packing> + </child> + <child> + <object class="GtkToolItem" id="toolitem1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="use_action_appearance">False</property> + <property name="is_important">True</property> + </object> + <packing> + <property name="expand">False</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="toolbutton_addfile"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="use_action_appearance">False</property> + <property name="is_important">True</property> + <property name="label" translatable="yes">_Add File</property> + <property name="use_underline">True</property> + <property name="stock_id">gtk-add</property> + <signal name="clicked" handler="on_add_activate" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="toolbutton_addfolder"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="use_action_appearance">False</property> + <property name="is_important">True</property> + <property name="label" translatable="yes">Add _Folder</property> + <property name="use_underline">True</property> + <property name="stock_id">gtk-directory</property> + <signal name="clicked" handler="on_addfolder_activate" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="toolbutton_clearlist"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="use_action_appearance">False</property> + <property name="is_important">True</property> + <property name="stock_id">gtk-clear</property> + <signal name="clicked" handler="on_clearlist_activate" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkSeparatorToolItem" id="separatortoolitem2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="expand">False</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="prefs_button"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="use_action_appearance">False</property> + <property name="is_important">True</property> + <property name="stock_id">gtk-preferences</property> + <signal name="clicked" handler="on_prefs_button_clicked" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="quit_button"> + <property name="can_focus">False</property> + <property name="use_action_appearance">False</property> + <property name="is_important">True</property> + <property name="stock_id">gtk-quit</property> + <signal name="clicked" handler="on_quit_button_clicked" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">3</property> + </packing> + </child> + <child> + <object class="GtkScrolledWindow" id="scrolledwindow2"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">never</property> + <child> + <object class="GtkTreeView" id="filelist"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="border_width">1000</property> + <property name="headers_visible">False</property> + <property name="headers_clickable">False</property> + <property name="rules_hint">True</property> + <child internal-child="selection"> + <object class="GtkTreeSelection" id="treeview-selection1"/> + </child> + </object> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">4</property> + </packing> + </child> + <child> + <object class="GtkVBox" id="vbox_status"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkVBox" id="progress_frame"> + <property name="can_focus">False</property> + <property name="border_width">6</property> + <property name="spacing">6</property> + <child> + <object class="GtkHBox" id="hbox23"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">6</property> + <child> + <object class="GtkHBox" id="hbox24"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkProgressBar" id="progressbar"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="fraction">0.20000000298000001</property> + <property name="pulse_step">0.10000000149</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child> + <object class="GtkButton" id="button_cancel"> + <property name="label">gtk-cancel</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <property name="use_stock">True</property> + <signal name="clicked" handler="on_button_cancel_clicked" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkToggleButton" id="button_pause"> + <property name="label">gtk-media-pause</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <property name="use_stock">True</property> + <signal name="clicked" handler="on_button_pause_clicked" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">3</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="progressfile"> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label">current file</property> + <property name="ellipsize">middle</property> + <property name="single_line_mode">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="status_frame"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="border_width">6</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel" id="statustext"> + <property name="height_request">22</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label">status text here</property> + <property name="use_markup">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child> + <object class="GtkProgressBar" id="progressbarstatus"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="fraction">0.19</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="pack_type">end</property> + <property name="position">2</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="pack_type">end</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="error_frame"> + <property name="can_focus">False</property> + <child> + <object class="GtkImage" id="image6"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="stock">gtk-dialog-error</property> + <property name="icon-size">6</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label_error"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">5</property> + </packing> + </child> + </object> + </child> + </object> +</interface> diff --git a/data/soundconverter.png b/data/soundconverter.png Binary files differnew file mode 100644 index 0000000..7469bc3 --- /dev/null +++ b/data/soundconverter.png diff --git a/data/soundconverter.svg b/data/soundconverter.svg new file mode 100644 index 0000000..69ba6ba --- /dev/null +++ b/data/soundconverter.svg @@ -0,0 +1,790 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + sodipodi:docname="SoundConverter.svg" + sodipodi:docbase="/home/mordrar/Desktop" + inkscape:version="0.44.1" + sodipodi:version="0.32" + id="svg7032" + height="48.000000px" + width="48.000000px" + inkscape:export-filename="/home/mordrar/Desktop/SoundConverter.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <defs + id="defs3"> + <linearGradient + inkscape:collect="always" + id="linearGradient2072"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop2074" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop2076" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient2315"> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0" + id="stop2317" /> + <stop + style="stop-color:#ffffff;stop-opacity:0;" + offset="1" + id="stop2319" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2315" + id="radialGradient1358" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.509804,0,16.05392)" + cx="4.3920336" + cy="32.307854" + fx="4.3920336" + fy="32.307854" + r="6.3750000" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2072" + id="radialGradient2078" + cx="23.250000" + cy="35.375000" + fx="23.250000" + fy="35.375000" + r="18.500000" + gradientTransform="matrix(1,0,0,0.398649,0,21.2728)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + y2="46.06208" + x2="29.477814" + y1="2.8703361" + x1="25.950134" + gradientTransform="matrix(-0.901805,0.210818,-0.211618,-0.898788,63.54132,37.87423)" + gradientUnits="userSpaceOnUse" + id="linearGradient5528" + xlink:href="#linearGradient5476" + inkscape:collect="always" /> + <linearGradient + gradientTransform="matrix(-0.901805,0.210818,-0.211618,-0.898788,63.54132,37.87423)" + y2="46.06208" + x2="29.477814" + y1="2.8703361" + x1="25.950134" + gradientUnits="userSpaceOnUse" + id="linearGradient5486" + xlink:href="#linearGradient5476" + inkscape:collect="always" /> + <linearGradient + gradientTransform="matrix(1.106909,-0.258404,0.259748,1.101665,-19.66697,12.19788)" + gradientUnits="userSpaceOnUse" + y2="46.06208" + x2="29.477814" + y1="2.8703361" + x1="25.950134" + id="linearGradient5482" + xlink:href="#linearGradient5476" + inkscape:collect="always" /> + <linearGradient + gradientTransform="matrix(1.106909,-0.258404,0.259748,1.101665,-19.66697,12.19788)" + y2="2.8163671" + x2="21.587093" + y1="23.499001" + x1="21.587093" + gradientUnits="userSpaceOnUse" + id="linearGradient5472" + xlink:href="#linearGradient5464" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + id="linearGradient4356"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop4358" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop4360" /> + </linearGradient> + <linearGradient + id="linearGradient4344"> + <stop + style="stop-color:#727e0a;stop-opacity:1;" + offset="0" + id="stop4346" /> + <stop + style="stop-color:#5b6508;stop-opacity:1.0000000;" + offset="1.0000000" + id="stop4348" /> + </linearGradient> + <linearGradient + id="linearGradient4338"> + <stop + id="stop4340" + offset="0.0000000" + style="stop-color:#e9b15e;stop-opacity:1.0000000;" /> + <stop + id="stop4342" + offset="1.0000000" + style="stop-color:#966416;stop-opacity:1.0000000;" /> + </linearGradient> + <linearGradient + id="linearGradient4163"> + <stop + style="stop-color:#3b74bc;stop-opacity:1.0000000;" + offset="0.0000000" + id="stop4165" /> + <stop + style="stop-color:#2d5990;stop-opacity:1.0000000;" + offset="1.0000000" + id="stop4167" /> + </linearGradient> + <linearGradient + id="linearGradient3824"> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0" + id="stop3826" /> + <stop + style="stop-color:#c9c9c9;stop-opacity:1.0000000;" + offset="1.0000000" + id="stop3828" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3816"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop3818" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop3820" /> + </linearGradient> + <linearGradient + id="linearGradient3800"> + <stop + style="stop-color:#f4d9b1;stop-opacity:1.0000000;" + offset="0.0000000" + id="stop3802" /> + <stop + style="stop-color:#df9725;stop-opacity:1.0000000;" + offset="1.0000000" + id="stop3804" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3800" + id="radialGradient3806" + cx="29.344931" + cy="17.064077" + fx="29.344931" + fy="17.064077" + r="9.1620579" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient3822" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3824" + id="linearGradient3830" + x1="30.935921" + y1="29.553486" + x2="30.935921" + y2="35.803486" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient4163" + id="radialGradient4169" + cx="28.089741" + cy="27.203083" + fx="28.089741" + fy="27.203083" + r="13.565360" + gradientTransform="matrix(1.297564,2.881172e-16,-1.96472e-16,0.884831,-8.358505,4.940469)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3800" + id="radialGradient4171" + gradientUnits="userSpaceOnUse" + cx="29.344931" + cy="17.064077" + fx="29.344931" + fy="17.064077" + r="9.1620579" + gradientTransform="matrix(0.787998,3.877637e-16,-3.877637e-16,0.787998,6.221198,3.617627)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3824" + id="linearGradient4175" + gradientUnits="userSpaceOnUse" + x1="30.935921" + y1="29.553486" + x2="30.935921" + y2="35.803486" + gradientTransform="translate(0.707108,0.000000)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient4179" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3824" + id="linearGradient4326" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-12.41789,-7.000000)" + x1="30.935921" + y1="29.553486" + x2="30.935921" + y2="35.803486" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient4338" + id="radialGradient4328" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.787998,3.877637e-16,-3.877637e-16,0.787998,6.221198,3.617627)" + cx="29.344931" + cy="17.064077" + fx="29.344931" + fy="17.064077" + r="9.1620579" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient4330" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3824" + id="linearGradient4332" + gradientUnits="userSpaceOnUse" + x1="30.935921" + y1="29.553486" + x2="30.935921" + y2="35.803486" + gradientTransform="translate(-13.12500,-7.000000)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3816" + id="radialGradient4336" + gradientUnits="userSpaceOnUse" + cx="31.112698" + cy="19.008621" + fx="31.112698" + fy="19.008621" + r="8.6620579" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient4344" + id="radialGradient4350" + cx="16.214741" + cy="19.836468" + fx="16.214741" + fy="19.836468" + r="13.565360" + gradientTransform="matrix(1.000000,0.000000,0.000000,0.681917,0.000000,8.233773)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4356" + id="linearGradient4362" + x1="20.661695" + y1="35.817974" + x2="22.626925" + y2="36.217758" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.983375,0.181588,-0.181588,0.983375,6.231716,-2.651466)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4356" + id="linearGradient4366" + gradientUnits="userSpaceOnUse" + x1="22.686766" + y1="36.390400" + x2="21.408455" + y2="35.739632" + gradientTransform="matrix(-0.977685,0.210075,0.210075,0.977685,55.1096,-3.945209)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4356" + id="linearGradient4372" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.983375,0.181588,-0.181588,0.983375,-7.072120,-9.824920)" + x1="20.661695" + y1="35.817974" + x2="22.626925" + y2="36.217758" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4356" + id="linearGradient4374" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-0.977685,0.210075,0.210075,0.977685,41.80576,-11.11866)" + x1="22.686766" + y1="36.390400" + x2="21.408455" + y2="35.739632" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4356" + id="linearGradient1366" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-0.977685,0.210075,0.210075,0.977685,41.80576,-11.11866)" + x1="22.686766" + y1="36.390400" + x2="21.408455" + y2="35.739632" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4356" + id="linearGradient1369" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.983375,0.181588,-0.181588,0.983375,-7.07212,-9.82492)" + x1="20.661695" + y1="35.817974" + x2="22.626925" + y2="36.217758" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3824" + id="linearGradient1372" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-12.41789,-7)" + x1="30.935921" + y1="29.553486" + x2="30.935921" + y2="35.803486" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient4344" + id="radialGradient1381" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.681917,-1.105561e-15,8.233773)" + cx="16.214741" + cy="19.836468" + fx="16.214741" + fy="19.836468" + r="13.565360" /> + <linearGradient + y2="11.981981" + x2="13.846983" + y1="11.48487" + x1="11.74217" + gradientTransform="matrix(1.276531,0,0,-1.406115,24.24763,33.3374)" + gradientUnits="userSpaceOnUse" + id="linearGradient1493" + xlink:href="#linearGradient15107" + inkscape:collect="always" /> + <radialGradient + r="7.2284161" + fy="73.615714" + fx="6.7027131" + cy="73.615714" + cx="6.7027131" + gradientTransform="scale(1.902215,0.525703)" + gradientUnits="userSpaceOnUse" + id="radialGradient1481" + xlink:href="#linearGradient10691" + inkscape:collect="always" /> + <linearGradient + y2="12.765438" + x2="38.129341" + y1="7.7850504" + x1="26.577936" + gradientTransform="matrix(0,1,-1,0,37.07553,-5.879343)" + gradientUnits="userSpaceOnUse" + id="linearGradient2365" + xlink:href="#linearGradient4274" + inkscape:collect="always" /> + <linearGradient + y2="29.698416" + x2="16.588747" + y1="16.612858" + x1="41.093174" + gradientTransform="matrix(-1.412791e-16,0.914114,-0.914114,-1.412791e-16,39.78243,-9.748047)" + gradientUnits="userSpaceOnUse" + id="linearGradient2566" + xlink:href="#linearGradient2187" + inkscape:collect="always" /> + <linearGradient + y2="27.145725" + x2="10.112462" + y1="23.332331" + x1="10.791593" + gradientTransform="matrix(0,1,-1,0,37.07553,-5.879343)" + gradientUnits="userSpaceOnUse" + id="linearGradient2564" + xlink:href="#linearGradient6925" + inkscape:collect="always" /> + <linearGradient + y2="30.55784" + x2="12.252101" + y1="15.028743" + x1="15.193591" + gradientTransform="matrix(0,1,-1,0,37.07553,-5.879343)" + gradientUnits="userSpaceOnUse" + id="linearGradient2562" + xlink:href="#linearGradient6901" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + id="linearGradient6925"> + <stop + style="stop-color:#204a87;stop-opacity:1;" + offset="0" + id="stop6927" /> + <stop + style="stop-color:#204a87;stop-opacity:0;" + offset="1" + id="stop6929" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient6901"> + <stop + style="stop-color:#3465a4;stop-opacity:1;" + offset="0" + id="stop6903" /> + <stop + style="stop-color:#3465a4;stop-opacity:0;" + offset="1" + id="stop6905" /> + </linearGradient> + <linearGradient + id="linearGradient2187" + inkscape:collect="always"> + <stop + id="stop2189" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + id="stop2191" + offset="1" + style="stop-color:#ffffff;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient4274"> + <stop + style="stop-color:#ffffff;stop-opacity:0.25490198;" + offset="0.0000000" + id="stop4276" /> + <stop + style="stop-color:#ffffff;stop-opacity:1.0000000;" + offset="1.0000000" + id="stop4278" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient10691"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop10693" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop10695" /> + </linearGradient> + <linearGradient + id="linearGradient15107"> + <stop + id="stop15109" + offset="0.0000000" + style="stop-color:#ffffff;stop-opacity:1.0000000;" /> + <stop + id="stop15111" + offset="1.0000000" + style="stop-color:#e2e2e2;stop-opacity:1.0000000;" /> + </linearGradient> + <linearGradient + id="linearGradient9749"> + <stop + id="stop9751" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + id="stop9753" + offset="1.0000000" + style="stop-color:#ededed;stop-opacity:1.0000000;" /> + </linearGradient> + <linearGradient + id="linearGradient2274"> + <stop + id="stop2276" + offset="0.0000000" + style="stop-color:#000000;stop-opacity:0.12871288;" /> + <stop + id="stop2278" + offset="1.0000000" + style="stop-color:#000000;stop-opacity:0.0000000;" /> + </linearGradient> + <linearGradient + id="linearGradient2624"> + <stop + style="stop-color:#dfe0df;stop-opacity:1;" + offset="0" + id="stop2626" /> + <stop + id="stop2630" + offset="0.23809524" + style="stop-color:#a6b0a6;stop-opacity:1;" /> + <stop + style="stop-color:#b5beb5;stop-opacity:1.0000000;" + offset="1.0000000" + id="stop2628" /> + </linearGradient> + <linearGradient + id="linearGradient5464"> + <stop + id="stop5466" + offset="0" + style="stop-color:#729fcf;stop-opacity:1;" /> + <stop + id="stop5468" + offset="1" + style="stop-color:#afc9e4;stop-opacity:1;" /> + </linearGradient> + <linearGradient + id="linearGradient5476"> + <stop + id="stop5478" + offset="0" + style="stop-color:white;stop-opacity:0.91176468;" /> + <stop + id="stop5480" + offset="1" + style="stop-color:#ffffff;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient5048"> + <stop + id="stop5050" + offset="0" + style="stop-color:black;stop-opacity:0;" /> + <stop + style="stop-color:black;stop-opacity:1;" + offset="0.5" + id="stop5056" /> + <stop + id="stop5052" + offset="1" + style="stop-color:black;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5464" + id="linearGradient7659" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.601294,-0.38845,0.77535,0.298364,2.219182,31.1278)" + x1="21.587093" + y1="23.499001" + x2="21.587093" + y2="2.8163671" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5476" + id="linearGradient7661" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.601294,-0.38845,0.77535,0.298364,2.219182,31.1278)" + x1="25.950134" + y1="2.8703361" + x2="29.477814" + y2="46.06208" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5476" + id="linearGradient7667" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.601294,0.38845,0.77535,-0.298364,-7.315947,28.87026)" + x1="41.028625" + y1="28.153969" + x2="11.601588" + y2="4.9614816" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4163" + id="linearGradient9463" + x1="25.510303" + y1="33.938168" + x2="23.132336" + y2="33.28952" + gradientUnits="userSpaceOnUse" /> + </defs> + <sodipodi:namedview + fill="#9db029" + inkscape:window-y="24" + inkscape:window-x="0" + inkscape:window-height="956" + inkscape:window-width="1280" + inkscape:showpageshadow="false" + inkscape:document-units="px" + inkscape:grid-bbox="true" + showgrid="false" + inkscape:current-layer="layer2" + inkscape:cy="21.998872" + inkscape:cx="29.623477" + inkscape:zoom="15.416667" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + borderopacity="0.22745098" + bordercolor="#666666" + pagecolor="#ffffff" + id="base" /> + <metadata + id="metadata4"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title>Generic Audio</dc:title> + <dc:creator> + <cc:Agent> + <dc:title>Jakub Steiner</dc:title> + </cc:Agent> + </dc:creator> + <cc:license + rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" /> + </cc:Work> + <cc:License + rdf:about="http://creativecommons.org/licenses/by-sa/2.0/"> + <cc:permits + rdf:resource="http://web.resource.org/cc/Reproduction" /> + <cc:permits + rdf:resource="http://web.resource.org/cc/Distribution" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/Notice" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/Attribution" /> + <cc:permits + rdf:resource="http://web.resource.org/cc/DerivativeWorks" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/ShareAlike" /> + </cc:License> + </rdf:RDF> + </metadata> + <g + inkscape:groupmode="layer" + id="layer2" + inkscape:label="base" + style="display:inline"> + <g + id="g2516" + inkscape:label="Layer 1" + transform="translate(19.98702,13.21449)" /> + </g> + <g + inkscape:groupmode="layer" + inkscape:label="Layer 1" + id="layer1" + style="display:inline"> + <path + sodipodi:type="arc" + style="opacity:0.3;color:black;fill:url(#radialGradient2078);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + id="path1344" + sodipodi:cx="23.25" + sodipodi:cy="35.375" + sodipodi:rx="18.5" + sodipodi:ry="7.375" + d="M 41.75 35.375 A 18.5 7.375 0 1 1 4.75,35.375 A 18.5 7.375 0 1 1 41.75 35.375 z" + transform="matrix(1.053492,0,0,1.053492,0.846828,1.418147)" /> + <g + id="g7655" + transform="translate(1.621621,-0.518918)"> + <path + style="color:black;fill:url(#linearGradient7659);fill-opacity:1;fill-rule:nonzero;stroke:#3465a4;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + d="M 27.928119,32.794186 L 36.49572,32.794186 L 36.495719,26.253258 L 39.721472,26.253258 L 32.421226,17.591154 L 24.391321,26.253258 L 27.928119,26.253258 L 27.928119,32.794186 z " + id="path4587" + inkscape:r_cx="true" + inkscape:r_cy="true" + sodipodi:nodetypes="cccccccc" /> + <path + sodipodi:nodetypes="cccccccc" + inkscape:r_cy="true" + inkscape:r_cx="true" + id="path5474" + d="M 28.908608,31.920858 L 35.560337,31.920858 L 35.560337,25.294476 L 37.71789,25.294476 L 32.36616,18.931254 L 26.592128,25.294476 L 28.908609,25.294476 L 28.908608,31.920858 z " + style="color:black;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient7661);stroke-width:0.90000004;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> + </g> + <g + id="g7663" + transform="translate(0.518919,-0.454055)"> + <path + style="opacity:1;color:black;fill:url(#linearGradient9463);fill-opacity:1.0;fill-rule:nonzero;stroke:#173563;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + d="M 28.091677,27.144524 L 19.723622,27.144524 L 19.723622,33.527565 L 16.150843,33.59243 L 24.136603,42.288576 L 31.324228,33.59243 L 28.091677,33.527565 L 28.091677,27.144524 z " + id="path4589" + inkscape:r_cx="true" + inkscape:r_cy="true" + sodipodi:nodetypes="cccccccc" /> + <path + style="color:black;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient7667);stroke-width:0.90000004;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + d="M 20.735636,28.0772 L 27.127905,28.0772 L 27.127905,34.508987 L 29.480052,34.508987 L 24.128323,40.807344 L 18.35429,34.508987 L 20.735636,34.508987 L 20.735636,28.0772 z " + id="path7638" + inkscape:r_cx="true" + inkscape:r_cy="true" + sodipodi:nodetypes="cccccccc" /> + </g> + </g> + <g + inkscape:groupmode="layer" + id="layer3" + inkscape:label="note" + style="display:inline"> + <path + sodipodi:nodetypes="cccccccccc" + id="path7042" + d="M 32.410191,6.6528975 C 32.410191,6.6528975 19.953008,8.198452 19.953008,8.198452 L 19.834089,31.08536 C 18.100089,30.497879 15.810905,30.403762 13.171156,30.947289 C 8.5818145,31.892238 5.2932914,34.423272 5.7967132,36.576886 C 6.3001349,38.730499 10.425424,39.727585 15.014766,38.782633 C 19.351613,37.889674 23.109925,35.582334 23.024076,33.515176 L 23.188685,13.465911 C 23.188685,13.465911 32.380454,11.981731 32.380454,11.981731 L 32.410191,6.6528975 z " + style="color:black;fill:#9db029;fill-opacity:1;fill-rule:nonzero;stroke:#596616;stroke-width:1.05349159;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block" /> + <path + style="opacity:0.51176471;color:black;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:1.05349159;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block" + d="M 31.34102,7.8122502 C 31.34102,7.8122502 21.053092,9.1072452 21.053092,9.1072452 L 20.871533,32.364313 C 13.079978,30.000326 6.403822,34.296847 6.8825615,36.344871 C 7.6246738,39.841447 21.851683,37.684445 22.067339,33.038215 L 22.223875,12.523396 C 22.223875,12.523396 31.3085,11.104988 31.3085,11.104988 L 31.34102,7.8122502 z " + id="path2311" + sodipodi:nodetypes="cccccccc" /> + <path + sodipodi:type="arc" + style="opacity:0.51176471;color:black;fill:url(#radialGradient1358);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" + id="path2313" + sodipodi:cx="5.875" + sodipodi:cy="32.75" + sodipodi:rx="6.375" + sodipodi:ry="3.25" + d="M 12.25 32.75 A 6.375 3.25 0 1 1 -0.5,32.75 A 6.375 3.25 0 1 1 12.25 32.75 z" + transform="matrix(0.773807,-0.117618,0.117618,0.773807,4.509727,9.879511)" /> + </g> +</svg> diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..387a599 --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,4 @@ +## Process this file with automake to produce Makefile.in + +EXTRA_DIST = soundconverter.1 +man_MANS = soundconverter.1
\ No newline at end of file diff --git a/doc/Makefile.in b/doc/Makefile.in new file mode 100644 index 0000000..742b0b8 --- /dev/null +++ b/doc/Makefile.in @@ -0,0 +1,502 @@ +# 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 = : +subdir = doc +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/mkinstalldirs +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +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; }; \ + } +man1dir = $(mandir)/man1 +am__installdirs = "$(DESTDIR)$(man1dir)" +NROFF = nroff +MANS = $(man_MANS) +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@ +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@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +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@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +OBJEXT = @OBJEXT@ +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@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +PYTHON = @PYTHON@ +PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ +PYTHON_PLATFORM = @PYTHON_PLATFORM@ +PYTHON_PREFIX = @PYTHON_PREFIX@ +PYTHON_VERSION = @PYTHON_VERSION@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +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_CC = @ac_ct_CC@ +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_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +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@ +pkgpyexecdir = @pkgpyexecdir@ +pkgpythondir = @pkgpythondir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +pyexecdir = @pyexecdir@ +pythondir = @pythondir@ +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 = soundconverter.1 +man_MANS = soundconverter.1 +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(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 doc/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu doc/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: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +install-man1: $(man_MANS) + @$(NORMAL_INSTALL) + @list1=''; \ + list2='$(man_MANS)'; \ + test -n "$(man1dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ + | sed -n '/\.1[a-z]*$$/p'; \ + fi; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ + done; } + +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list=''; test -n "$(man1dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.1[a-z]*$$/p'; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + dir='$(DESTDIR)$(man1dir)'; $(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 $(MANS) +installdirs: + for dir in "$(DESTDIR)$(man1dir)"; 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) + +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 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-man + +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-man1 + +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 + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-man + +uninstall-man: uninstall-man1 + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic cscopelist-am \ + ctags-am distclean distclean-generic distdir dvi dvi-am html \ + html-am info info-am install install-am 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-man1 install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am tags-am uninstall uninstall-am uninstall-man \ + uninstall-man1 + + +# 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: diff --git a/doc/soundconverter.1 b/doc/soundconverter.1 new file mode 100644 index 0000000..d25f075 --- /dev/null +++ b/doc/soundconverter.1 @@ -0,0 +1,49 @@ +.TH SOUNDCONVERTER 1 2009-06-10 "GNOME" "GNOME User's Manual" +.SH NAME +soundconverter \- convert sound files to other formats +.SH SYNOPSIS +.BR soundconverter " [options] [file...]" +.SH DESCRIPTION +.B soundconverter +is a simple tool for converting sound files to other formats. +It can work from the command line, but is really meant for interactive +use in the GNOME environment. +.SH OPTIONS +.TP +.BR \-h ", "\-\-help +Print out a usage summary. +.TP +.BR \-b ", "\-\-batch +Convert in batch mode, from command line, without a graphical user interface. +You can use this from, say, shell scripts. +.TP +.BR \-m ", "\-\-mime\-type " \fIarg\fR" +Set the output MIME type for batch mode. +The default is audio/x-vorbis. +Note that you probably want to set the output suffix as well. +You can also use shortcuts: aac, flac, mp3, vorbis, wav. +.TP +.BR \-q ", "\-\-quiet +Be quiet. +Don't write normal output, only errors. +.TP +.BR \-d ", "\-\-debug +Print additional debug information. +.TP +.BR \-s ", "\-\-suffix " \fIarg\fR" +Set the output filename suffix for batch mode. +The default is .ogg. +Note that the suffix does not affect the output MIME type. +.TP +.BR \-t ", "\-\-tags +Show tags for input files instead of converting them. +This indicates command line batch mode and disables the +graphical user interface. +.TP +.BR \-j ", "\-\-jobs= " +Force number of concurent conversions. +Default is one per present CPU. +.SH AUTHOR +Lars Wirzenius (liw@iki.fi). +Gautier Portet (kassoulet@gmail.com) +Uwe Bugla (uwe.bugla@gmx.de). diff --git a/install-sh b/install-sh new file mode 100755 index 0000000..377bb86 --- /dev/null +++ b/install-sh @@ -0,0 +1,527 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2011-11-20.07; # UTC + +# 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. + +nl=' +' +IFS=" "" $nl" + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit=${DOITPROG-} +if test -z "$doit"; then + doit_exec=exec +else + doit_exec=$doit +fi + +# Put in absolute file names if you don't have them in your path; +# or use environment vars. + +chgrpprog=${CHGRPPROG-chgrp} +chmodprog=${CHMODPROG-chmod} +chownprog=${CHOWNPROG-chown} +cmpprog=${CMPPROG-cmp} +cpprog=${CPPROG-cp} +mkdirprog=${MKDIRPROG-mkdir} +mvprog=${MVPROG-mv} +rmprog=${RMPROG-rm} +stripprog=${STRIPPROG-strip} + +posix_glob='?' +initialize_posix_glob=' + test "$posix_glob" != "?" || { + if (set -f) 2>/dev/null; then + posix_glob= + else + posix_glob=: + fi + } +' + +posix_mkdir= + +# Desired mode of installed file. +mode=0755 + +chgrpcmd= +chmodcmd=$chmodprog +chowncmd= +mvcmd=$mvprog +rmcmd="$rmprog -f" +stripcmd= + +src= +dst= +dir_arg= +dst_arg= + +copy_on_change=false +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: + --help display this help and exit. + --version display version info and exit. + + -c (ignored) + -C install only if different (preserve the last data modification time) + -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. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG + RMPROG STRIPPROG +" + +while test $# -ne 0; do + case $1 in + -c) ;; + + -C) copy_on_change=true;; + + -d) dir_arg=true;; + + -g) chgrpcmd="$chgrpprog $2" + shift;; + + --help) echo "$usage"; exit $?;; + + -m) mode=$2 + case $mode in + *' '* | *' '* | *' +'* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + shift;; + + -o) chowncmd="$chownprog $2" + shift;; + + -s) stripcmd=$stripprog;; + + -t) dst_arg=$2 + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + shift;; + + -T) no_target_directory=true;; + + --version) echo "$0 $scriptversion"; exit $?;; + + --) shift + break;; + + -*) echo "$0: invalid option: $1" >&2 + exit 1;; + + *) break;; + esac + shift +done + +if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then + # When -d is used, all remaining arguments are directories to create. + # When -t is used, the destination is already specified. + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dst_arg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dst_arg" + shift # fnord + fi + shift # arg + dst_arg=$arg + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + done +fi + +if test $# -eq 0; 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 + +if test -z "$dir_arg"; then + do_exit='(exit $ret); exit $ret' + trap "ret=129; $do_exit" 1 + trap "ret=130; $do_exit" 2 + trap "ret=141; $do_exit" 13 + trap "ret=143; $do_exit" 15 + + # Set umask so as not to create temps with too-generous modes. + # However, 'strip' requires both read and write access to temps. + case $mode in + # Optimize common cases. + *644) cp_umask=133;; + *755) cp_umask=22;; + + *[0-7]) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw='% 200' + fi + cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; + *) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw=,u+rw + fi + cp_umask=$mode$u_plus_rw;; + esac +fi + +for src +do + # Protect names problematic for 'test' and other utilities. + case $src in + -* | [=\(\)!]) src=./$src;; + esac + + if test -n "$dir_arg"; then + dst=$src + dstdir=$dst + test -d "$dstdir" + dstdir_status=$? + 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 "$dst_arg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + dst=$dst_arg + + # 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: $dst_arg: Is a directory" >&2 + exit 1 + fi + dstdir=$dst + dst=$dstdir/`basename "$src"` + dstdir_status=0 + else + # Prefer dirname, but fall back on a substitute if dirname fails. + dstdir=` + (dirname "$dst") 2>/dev/null || + expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$dst" : 'X\(//\)[^/]' \| \ + X"$dst" : 'X\(//\)$' \| \ + X"$dst" : 'X\(/\)' \| . 2>/dev/null || + echo X"$dst" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q' + ` + + test -d "$dstdir" + dstdir_status=$? + fi + fi + + obsolete_mkdir_used=false + + if test $dstdir_status != 0; then + case $posix_mkdir in + '') + # Create intermediate dirs using mode 755 as modified by the umask. + # This is like FreeBSD 'install' as of 1997-10-28. + umask=`umask` + case $stripcmd.$umask in + # Optimize common cases. + *[2367][2367]) mkdir_umask=$umask;; + .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; + + *[0-7]) + mkdir_umask=`expr $umask + 22 \ + - $umask % 100 % 40 + $umask % 20 \ + - $umask % 10 % 4 + $umask % 2 + `;; + *) mkdir_umask=$umask,go-w;; + esac + + # With -d, create the new directory with the user-specified mode. + # Otherwise, rely on $mkdir_umask. + if test -n "$dir_arg"; then + mkdir_mode=-m$mode + else + mkdir_mode= + fi + + posix_mkdir=false + case $umask in + *[123567][0-7][0-7]) + # POSIX mkdir -p sets u+wx bits regardless of umask, which + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 + + if (umask $mkdir_umask && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + ls_ld_tmpdir=`ls -ld "$tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/d" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null + fi + trap '' 0;; + esac;; + esac + + if + $posix_mkdir && ( + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" + ) + then : + else + + # The umask is ridiculous, or mkdir does not conform to POSIX, + # or it failed possibly due to a race condition. Create the + # directory the slow way, step by step, checking for races as we go. + + case $dstdir in + /*) prefix='/';; + [-=\(\)!]*) prefix='./';; + *) prefix='';; + esac + + eval "$initialize_posix_glob" + + oIFS=$IFS + IFS=/ + $posix_glob set -f + set fnord $dstdir + shift + $posix_glob set +f + IFS=$oIFS + + prefixes= + + for d + do + test X"$d" = X && continue + + prefix=$prefix$d + if test -d "$prefix"; then + prefixes= + else + if $posix_mkdir; then + (umask=$mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break + # Don't fail if two instances are running concurrently. + test -d "$prefix" || exit 1 + else + case $prefix in + *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; + *) qprefix=$prefix;; + esac + prefixes="$prefixes '$qprefix'" + fi + fi + prefix=$prefix/ + done + + if test -n "$prefixes"; then + # Don't fail if two instances are running concurrently. + (umask $mkdir_umask && + eval "\$doit_exec \$mkdirprog $prefixes") || + test -d "$dstdir" || exit 1 + obsolete_mkdir_used=true + fi + fi + fi + + if test -n "$dir_arg"; then + { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && + { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || + test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 + else + + # 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 + + # Copy the file name to the temp name. + (umask $cp_umask && $doit_exec $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 $mode "$dsttmp"; } && + + # If -C, don't bother to copy if it wouldn't change the file. + if $copy_on_change && + old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && + new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && + + eval "$initialize_posix_glob" && + $posix_glob set -f && + set X $old && old=:$2:$4:$5:$6 && + set X $new && new=:$2:$4:$5:$6 && + $posix_glob set +f && + + test "$old" = "$new" && + $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 + then + rm -f "$dsttmp" + else + # Rename the file to the real destination. + $doit $mvcmd -f "$dsttmp" "$dst" 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. + { + test ! -f "$dst" || + $doit $rmcmd -f "$dst" 2>/dev/null || + { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && + { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + } || + { echo "$0: cannot unlink or rename $dst" >&2 + (exit 1); exit 1 + } + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" + } + fi || exit 1 + + trap '' 0 + fi +done + +# 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: @@ -0,0 +1,215 @@ +#! /bin/sh +# Common wrapper for a few potentially missing GNU programs. + +scriptversion=2013-10-28.13; # UTC + +# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 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 <http://www.gnu.org/licenses/>. + +# 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 <bug-automake@gnu.org>." + 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 'autom4te' 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: diff --git a/mkinstalldirs b/mkinstalldirs new file mode 100755 index 0000000..55d537f --- /dev/null +++ b/mkinstalldirs @@ -0,0 +1,162 @@ +#! /bin/sh +# mkinstalldirs --- make directory hierarchy + +scriptversion=2009-04-28.21; # UTC + +# Original author: Noah Friedman <friedman@prep.ai.mit.edu> +# Created: 1993-05-16 +# Public domain. +# +# This file is maintained in Automake, please report +# bugs to <bug-automake@gnu.org> or send patches to +# <automake-patches@gnu.org>. + +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 <bug-automake@gnu.org>." + +# 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: diff --git a/po/ChangeLog b/po/ChangeLog new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/po/ChangeLog diff --git a/po/Makefile.in.in b/po/Makefile.in.in new file mode 100644 index 0000000..06a8cfe --- /dev/null +++ b/po/Makefile.in.in @@ -0,0 +1,222 @@ +# Makefile for program source directory in GNU NLS utilities package. +# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu> +# Copyright (C) 2004-2008 Rodney Dawes <dobey.pwns@gmail.com> +# +# 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 <otaylor@redhat.com> to use GETTEXT_PACKAGE +# instead of PACKAGE and to look for po2tbl in ./ not in intl/ +# +# - Modified by jacob berkman <jacob@ximian.com> to install +# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize +# +# - Modified by Rodney Dawes <dobey.pwns@gmail.com> 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 $(GETTEXT_PACKAGE).pot *.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: diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 0000000..2f6989d --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,19 @@ +[encoding: UTF-8] +data/soundconverter.desktop.in.in +data/soundconverter.glade +bin/soundconverter.py +soundconverter/error.py +soundconverter/fileoperations.py +soundconverter/gconfstore.py +soundconverter/gstreamer.py +soundconverter/__init__.py +soundconverter/messagearea.py +soundconverter/namegenerator.py +soundconverter/notify.py +soundconverter/queue.py +soundconverter/settings.py +soundconverter/soundfile.py +soundconverter/task.py +soundconverter/ui.py +soundconverter/utils.py + diff --git a/po/POTFILES.skip b/po/POTFILES.skip new file mode 100644 index 0000000..2291ffd --- /dev/null +++ b/po/POTFILES.skip @@ -0,0 +1,2 @@ +data/soundconverter.desktop.in + diff --git a/po/ar.po b/po/ar.po new file mode 100644 index 0000000..1a90e04 --- /dev/null +++ b/po/ar.po @@ -0,0 +1,537 @@ +# Arabic translation for soundconverter +# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2013-10-16 23:32+0000\n" +"Last-Translator: ســند <Unknown>\n" +"Language-Team: Arabic <ar@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: ar\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "محول صيغ صوتية" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "محول صيغ الملفات الصوتية" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "تحويل الملفات الصوتية إلى صيغ أخرة" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "تحويل صوتي مدعوم بجنوم" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "موقع الويب" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "حوار1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "المرشّح " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "خطأ" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "الملف موجود بالفعل" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "ا_كتب فوقه" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_تخطّي" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>الملف موجود مسبقا</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_طبق على كل القائمة" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "فنان/ألبوم" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "الفنان - الألبوم" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "منخفض جداً" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "منخفض" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "عادي" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "عالية" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "عالي جدا" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "عالية جدا" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 بت (جودة منخفصة جدا )" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 بت(الافتراضي)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 بت" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "أقل (أسرع)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "إفتراضي" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "أفضل (أبطأ)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "تابث (cbr)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "معدل (َABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "متغير (VBR) - جودة أفضل" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC بدون تفريط (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "MS Wave (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "التشكيل الصوتي لجنوم" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "رقم_المسار-عنوان_المسار" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "عنوان_المسار" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "خصائص" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "مشاركة المجلد" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "إختر..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "داخل المجلد المحدد" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "إنشاء مجلدات فرعية: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "حذف الملف الأصلي" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b >اين تحفظ النتائج ؟ </b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "نمط إسم الملف: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "استبدال كل المحارف الغريبة" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "حذف جميع المحارف ماعدا الحروف، الأرقام و ./_-" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>مثال لإسم الملف:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b >كيفية تسمية الملفات ؟ </b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "الصيغة: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "الجودة:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "استعمل صيغة .oga" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "نمط معدل البت" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "الظغط" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "عرض العينة" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "أي أي سي (AAC)" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "التشكيل" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "تشكيل gst" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>نوع النتائج ؟</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "إعاده التشكيل" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "إجبار مردود أحادي" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "العدد الأقصى للمهام المتزامنة" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "مشفر MP3 غير موجود" + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "إقرأ كيفية التثبيت" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "أين توضع النتائج؟" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "محول الصوتيات" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_ملف" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "_تحرير" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_مساعدة" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_إضافة ملف" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "إضافة _مجلد" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"تحويل في طور الصدفة, من سطر الأوامر, بدون واجهة رسومية للمستخدم\n" +" واجهة. يمكن إستخدام هذا, قول, البرامج النصية للصدفة." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" +"إضهار أوسمة الملف المنتج عِوض تحويلها. هذا يعين \n" +"إستخدام سطر الأوامر مع تعطيل الواجه الرسومية." + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "كون هادئ. لا تكتب المخرج العادي, فقط الأخطاء." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "إضهار معلومات تصحيحية إضافية" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "إجبار عدد التحويلات المتزامنة." + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "إضهار إعدادات جستريمر" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"خطأ : %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "لا يمكن إنشاء مجلد" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "أجهض تثبيت المكون الإضافي." + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "لا يمكن إنشاء مجلد '%s'" + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "خطء في جيستريمر" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "تم التحويل في %s" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "ألبوم مجهول" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "فنّان مجهول" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "جميع الملفات" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"خطأ : %s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "جاري فحص الملفات..." + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "جاري إضافة الملفات..." + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "مثل الملف الأصلي مع تغير الحق فقط" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "مثل الملف الأصلي مع إضافة لحق" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "رقم الأغنية - العنوان" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "عنوان الأغنية" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "الفنان - العنوان" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "صيغة اسم ملف مخصصة" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "فنان-ألبوم" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "الأنماط المتوفرة :" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "في المجلد %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "معدال البت المطلوب: '%s'" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "افتح ملفا" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "إضافة مجلد..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "إعداد التحويل" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "تحويل" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "تم إلغاء الأمر" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "متوقّف مؤقتا" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d متبقية" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "جاهز" diff --git a/po/ast.po b/po/ast.po new file mode 100644 index 0000000..5a26cd7 --- /dev/null +++ b/po/ast.po @@ -0,0 +1,523 @@ +# Asturian translation for soundconverter +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-01-13 03:36+0000\n" +"Last-Translator: Launchpad Translations Administrators <Unknown>\n" +"Language-Team: Asturian <ast@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Camudador de soniu" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Camudador d'archivos de soniu" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filtru " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Erru" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "L'archivo xá esisti" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>L'archivu xá esisti</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Preferencies" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Esbilli..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "Dientro d'un direutoriu especificu" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Criar sodireutorios: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Esborrar l'archivu orixinal" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>¿Ú atroxar los resultaos</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "" + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Exemplu:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Formatu: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Calidá:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Compresión" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Forciar cola mono" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "Comudador MP3 nun ta allugáu." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Llei cómo allugar" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Añader_Direutoriu" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "" + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "" + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "" + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "" + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "" diff --git a/po/bg.po b/po/bg.po new file mode 100644 index 0000000..882ab22 --- /dev/null +++ b/po/bg.po @@ -0,0 +1,531 @@ +# Bulgarian translation of soundconverter. +# Copyright (C) 2007 THE soundconverter'S COPYRIGHT HOLDER +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the soundconverter package. +# +# Nikola Yanev <gericom@bginfo.net>, 2009. +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-01-13 03:56+0000\n" +"Last-Translator: Nikola Yanev <gericom.hummer@gmail.com>\n" +"Language-Team: English (United Kingdom) <en_GB@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: \n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Sound Converter" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Конвертор на аудио формати" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "dialog1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Филтър " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Грешка" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Файла вече съществува" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Презапиши" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Прескочи" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Файла вече съществува</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Приложи към цялата опашка" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "изпълнител/албум" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "изпълнител - албум" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Настройки" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Изберете..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "В изрично упомената папка" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Създаване на подпапки " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Изтриване на оригиналният файл" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Къде да поставим резултата?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Шаблон за наименоване " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Заместване на всички неправилни символи" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Примерно наименование:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Как ще се казва файла?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Формат: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Качество:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Използвай .oga разширение" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Тип на плътността kb/s" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Компресия:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Формат на изходният файл?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "Не е намерен кодек за MP3" + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Прочетете как се инсталира" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Къде да поставим резултата?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "SoundConverter" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "_Редактиране" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Добави файл" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "_Добави папка" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Конвертирай в пакетен режим, от командния ред, без графичен\n" +" интерфейс. Това е използваемо, да кажем, чрез скриптове" + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Съобщавай само грешките." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Грешка: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Невъзможно създаването на папка '%s'" + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "" + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Като оригиналния файл, но замествайки разширението" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Като оригиналния файл, но добавяйки разширение" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Номер на песен - Заглавие" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Изпълнител - Заглавие" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Собствен шаблон за наименование на файла" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "изпълнител-албум" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "В папка %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Изходна плътност kb/s: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Добави папка..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Конвертиране" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Отменено" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Прекъснато" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "Остават %d:%02d" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Готово" diff --git a/po/br.po b/po/br.po new file mode 100644 index 0000000..8775fb6 --- /dev/null +++ b/po/br.po @@ -0,0 +1,544 @@ +# Breton translation for soundconverter +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the soundconverter package. +# +# Denis <denisarnuad@yahoo.fr>, 2008. +# Jamy <jamybzh@free.fr>, 2009 +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2013-09-04 12:56+0000\n" +"Last-Translator: Denis <Unknown>\n" +"Language-Team: Breton <br@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: br\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Amdroer Sound Converter" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Amdroer mentrezhoù aodio" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "Amdreiñ ar restroù aodio da mentrezhoù all" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "Amdroer sonioù poulzet gant GNOME" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Lec'hienn web" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "dialog1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Sil " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Fazi" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Bez eus c'hoazh ar restr" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Flastrañ" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Mont e biou" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Bez eus c'hoazh ar restr</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Arloañ evit tout ar steudad c'hortoz" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "arzour/albom" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "arzour - albom" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "Izel-tre" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Izel" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Reizh" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Uhel" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Uhel tre" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Uhel gant diboell" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 eizhbit (perzhded izel tre)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 eizhbit (diouer)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 eizhbit" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "bihanoc'h (Buaner)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "Dre ziouer" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "Muioc'h (gorrekoc'h)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "Arstalek (CBR)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "Keitad (ABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "Argemmus (VBR) - Muiañ perzhded" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC hep koll (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "MS Wave (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "Opus (.opus)" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "Aelad aodio GNOME" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "Niverenn_loabr - titl_loabr" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "titl_loabr" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Gwellvezioù" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "Er memes teuliad ar restr enank" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Furchal..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "Er renkell arbennik" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Krouiñ is-teuliadoù : " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Skarzhañ ar restr orin" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Pelec'h lechiañ ar restroù amdreet?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Goustur an anv restr : " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Erlec'hiañ an holl arouezennoù iskis" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "Dilemel an holl arouezennoù nemet lizherennoù, sifroù ha ./_-" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Skouer anv restr:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Penaos adanviñ ar restroù?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Mentrezh : " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Perzhded :" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Arverañ an askouezhadenn .oga" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Kas binarel:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "koazhaenn" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Led ar standilhon :" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "Opus" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Aelad :" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "aelad-gst" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Mentrezh ar restroù disoc'h ?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Adstandilhonañ" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Bountañ ec'hankad mono" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "Bevenniñ niverenn al labourioù a-stur" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "N'eus ket enkoder MP3." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Lenn penaos staliañ" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "E pelec'h lechiañ ar restroù amdreet?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "SoundConverter" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Restr" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "K_emmañ" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_Skoazell" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "Ouzhpenn_añ ur restr" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Ouzhpennañ un _teuliad" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Amdreiñ er mod batch, diouzh al linenn urzhiañ, hep etrefas\n" +" grafek. Da implij er skriptoù shell." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" +"Diskouez klavioù evit ar restroù enank e-lec'h amdreiñ anezho. Menegiñ a ra " +"\n" +" mod dre lodoù al linenn arc'had ha diweredekaat ketal grafek an arveriad." + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" +"Arventenniñ rizh MIME an ec'hankad evit ar mod dre lodoù. %s eo dre ziouer. " +"Ha marteze e vo arventennet askouezhadenn an ec'hankad ivez." + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Didrouzer. Diskouez fazioù nemetken." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "Diskouez titouroù diveugañ ouzhpenn" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" +"Arventenniñ anv restr an ec'hankad evit ar mod dre lodoù. %s eo dre ziouer. " +"Ne vo ket kemmet\n" +" rizh MIME an ec'hankad." + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Bountañ war niverenn an amdroadurioù kevezel" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "Diskouez an dibarzhioù GStreamer" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Fazi : %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "N'haller ket krouiñ an teuliad !" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "Fazi e-pad adenvel ar restr" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "Staliadur an enlugellad troc'het." + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "N'eus ket tu da grouiñ an teuliad :·'%s'." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "Fazi GStreamer" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "Amdroadur graet e %s" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "Albom dianav" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "Arzour dianav" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" +"Arzour Albom Titl Loabr Hollad Rumm Deiziad Bloaz NiverPladenn HolladPladenn" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "An holl restroù" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"Fazi : %s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "O c'hwilervañ ar restroù..." + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "Oc'h ouzhpennañ ar restroù ..." + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Heñvel eget an enankad, oc'h erlec'hiañ an askouezhadenn" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Heñvel eget an enankad, gant un askouezhadenn ouzhpenn" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Niverenn - titl" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "Titl al loabr" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Arzour - titl" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Patrom personelaet evit an anvioù restroù" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "arzour-albom" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "Gousturioù hegerz" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "En teuliad %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Kas binarel al lec'h kas : %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Digeriñ ur restr" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Ouzhpennañ un teuliad..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "O prientiñ an amdroadur..." + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Oc'h amdreiñ" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Nullet" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Ehanet" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "O chom %d:%02d" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Prest" diff --git a/po/ca.po b/po/ca.po new file mode 100644 index 0000000..58d753c --- /dev/null +++ b/po/ca.po @@ -0,0 +1,528 @@ +# Catalan translation for soundconverter +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2013-08-31 21:58+0000\n" +"Last-Translator: Adolfo Jayme Barrientos <fitoschido@gmail.com>\n" +"Language-Team: Catalan <ca@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: ca\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Convertidor de so" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Convertidor formats d'àudio" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "Conversió de so impulsada pel GNOME" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Lloc web" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "diàleg1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filtre " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "S'ha produït un error" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "El fitxer ja existeix" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Sobreescriu" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Omet" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>El fitxer ja existeix</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Aplicar a tota la cua" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "artista/àlbum" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "artista - àlbum" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "Molt baix" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Baix" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Normal" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Alt" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Molt alt" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Altíssim" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 bits (qualitat molt baixa)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 bits (per defecte)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 bits" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC sense pèrdues (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "Opus (.opus)" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "Perfil d’àudio del GNOME" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Preferències" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "Mateixa carpeta del fitxer d’entrada" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Trieu..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "En una carpeta especificada" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Crea subcarpetes: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Suprimeix el fitxer original" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>On situar els resultats?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Patró del nom de fitxer " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Exemple de nom de fitxer:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Com anomenar els fitxers?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Format: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Qualitat:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Utilitzar l'extensió .oga" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Mode de taxa de bits:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Compressió:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Tipus de resultat?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Forçar la soritda a mono" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "No hi ha un Codificador MP3." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Llegeix com instal·lar" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "On situar els resultats?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Fitxer" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "_Edita" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_Ajuda" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Afegir Arxiu" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Afegeix una _carpeta" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Sigues silenciós. No produeixis la sortida normal, només errors." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Forçar el numero de conversions concurrents." + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Error: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "No es pot crear la carpeta '%s'." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "" + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Numero de la pista - títol" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Artista - títol" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "artista-àlbum" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "a la carpeta %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Taxa de bits de l’objectiu: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Afegeix carpeta..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "S’està preparant la conversió…" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "S’està convertint" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Cancel·lat" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Aturat" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "falten %d:%02d" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Llest" diff --git a/po/cs.po b/po/cs.po new file mode 100644 index 0000000..0bfd1ac --- /dev/null +++ b/po/cs.po @@ -0,0 +1,544 @@ +# Czech translation for soundconverter +# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2013-04-29 04:05+0000\n" +"Last-Translator: Petr Šimáček <petr.simacek@gmail.com>\n" +"Language-Team: Czech <cs@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: cs\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Převaděč zvuků" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Převaděč zvukových formátů" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "Převádí audio soubory do různých formátů" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "GNOME převod zvuku" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Webová stránka" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "dialog1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filtr " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Chyba" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Soubor již existuje" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Přepsat" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "Pře_skočit" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Soubor již existuje</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "Použít n_a celou frontu" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "umělec/album" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "umělec - album" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "Velmi nízká" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Nízká" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Normální" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Vysoká" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Velmi vysoká" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Nejlepší" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 bitů (velmi nízká kvalita)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 bitů (výchozí)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 bitů" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "Nižší (rychlejší)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "Výchozí" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "Vyšší (pomalejší)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "Konstatní (CBR)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "Průměrný (ABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "Proměný (VBR)" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC Lossless (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "MS Wave (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "Opus (.opus)" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "GNOME zvukový profil" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "stopa_číslo - stopa_titul" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "stopa_titul" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Nastavení" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "Stejná složka jako původní soubor" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Vybrat.." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "Do určené složky" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Vytvořit podsložky: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Smazat původní soubor" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Kam umístit výsledek?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Vzorek jména souboru: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Odstranit všechny nepořádné znaky" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "Odstranit všechny znaky kromě písmen, číslic a ./_-" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Ukázkové jméno souboru:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Jak pojmenovat soubory?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Formát: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Kvalita:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Použít příponu .oga" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Typ bitového toku:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Komprese:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Šířka vzorku:" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "Opus" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Profil:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "gst-profil" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Typ výsledku?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Převzorkovat" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Vynutit mono výstup" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "Omezit počet paralelních činností" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "MP3 enkodér není dostupný." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Čtěte jak nainstalovat" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Kam umístit výsledky?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "Převaděč zvuků" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Soubor" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "_Upravit" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_Nápověda" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "Přid_at soubor" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Přidat _složku" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Převádí v dávkovém režimu, z příkazové řádky, bez grafického uživatelského\n" +" rozhraní. Můžete to použít z, řekněme, shellových skriptů." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" +"Zobrazit značky (tagy) vstupních souborů namísto jejich převodu. To znamená " +"\n" +" dávkový režim v příkazovém řádku a vypnutí grafického uživatelského " +"rozhraní." + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" +"Nastavit výstupní MIME typ dávkovém režimu. Výchozí hodnota je %s. " +"Pravděpodobně budete chtít nastavit výstupní příponu stejně." + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Buď potichu. Nevypisuj normální výstup, jen chyby." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "Zobrazí dodatečné ladicí informace" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" +"Nastavte výstupní název souboru příponu pro dávkové zpracování. Výchozí je " +"%s. Všimněte si, že přípona nemá vliv\n" +" výstup MIME typu." + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Vynutit počet souběžných konverzí." + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "Zobrazit možnosti GStreameru" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Chyba: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "Nelze vytvořit složku!" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "Chyba při přejmenování souboru" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "Instalace zásuvného modulu byla zastavena." + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Nelze vytvořit složku '%s'." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "Chyba GStreameru:" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "Konverze dokončena za %s" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "Neznámé album" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "Neznámý interpret" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" +"Interpret Album Titul Stopa Celkem Žánr Datum Rok Časová známka Číslo disku " +"Disk celkem Ext" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "Všechny soubory" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"Chyba: %s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "Prohledávají se soubory..." + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "Přidávám soubory..." + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Stejně jako vstup, ale s náhradou přípony" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Stejně jako vstup, ale s dodatečnou příponou" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Číslo stopy - název" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "Název stopy" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Umělec - název" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Vlastní vzorek jména souboru" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "umělec-album" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "Dostupné vzory:" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "Do složky %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Cílový bitový tok: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Otevřít soubor" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Přidat složku..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "Připravuji konverzi..." + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Převádění" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Zrušeno" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Pozastaveno" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d zbývá" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Připraven" diff --git a/po/da.po b/po/da.po new file mode 100644 index 0000000..e5d68fc --- /dev/null +++ b/po/da.po @@ -0,0 +1,530 @@ +# Danish translation for soundconverter +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-01-13 03:43+0000\n" +"Last-Translator: AJenbo <anders@jenbo.dk>\n" +"Language-Team: Danish <da@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: da\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Lydkonvertering" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Lydformat-konvertering" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "dialog1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filter " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Fejl" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Fil findes allerede" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Overskriv" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Spring over" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Filen eksisterer allerede</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Tilføj til hele køen" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "kunstner/album" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "kunstner - album" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Indstillinger" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Vælg..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "I en specificeret mappe" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Opret undermapper: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Slet oprindelig fil" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Hvor skal resultaterne placeres?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Filnavnsmønster: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Udskift alle problematiske tegn" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Filnavn-eksempel:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Hvordan skal filer navngives?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Format: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Kvalitet:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Bitratetilstand:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Resultattype?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "MP3-indkoder er ikke til stede." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Læs hvordan du installerer" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Hvor skal resultaterne placeres?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "SoundConverter" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Tilføj fil" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Tilføj _mappe" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Konverter i batch-tilstand, fra kommandolinje, uden en grafisk bruger-\n" +" flade. Du kan bruge dette fra f.eks. skalscripts." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Vær stille. Skriv ikke normal uddata, kun fejl." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Fejl: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Kan ikke oprette mappe \"%s\"." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "" + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Samme som inddata, men udskifter filtype-endelse" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Samme som inddata, men med en ekstra filtype-endelse" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Spor nummer - titel" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Kunstner - titel" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Tilpasset filnavn-møsnter" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "kunstner-album" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "I mappen %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Mål-bitrate: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Tilføj mappe..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Konverterer" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Annulleret" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Pause" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d tilbage" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Klar" diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000..42334b0 --- /dev/null +++ b/po/de.po @@ -0,0 +1,566 @@ +# German translation of soundconverter. +# Copyright (C) 2007 THE soundconverter'S COPYRIGHT HOLDER +# This file is distributed under the same license as the soundconverter package. +# Uwe Bugla <uwe.bugla@gmx.de>, 2009. +msgid "" +msgstr "" +"Project-Id-Version: soundconverter 1.4.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2013-02-14 10:51+0000\n" +"Last-Translator: Achmed Decker <deckerac@outlook.com>\n" +"Language-Team: German <LL@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: de\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Sound Converter" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Audio-Formatumwandlung" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "Konvertiert Audio-Dateien in andere Formate" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "GNOME-basierte Umwandlung von Audio-Dateien" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Website" + +# # line 2414 +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "Dialog1" + +# # line 42 +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filter " + +# # line 892 +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Fehler" + +# # line 737 +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Datei ist bereits vorhanden" + +# # line 674 +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "Über_schreiben" + +# # line 689 +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Überspringen" + +# # line 737 +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Datei ist bereits vorhanden</b></big>\n" + +# # line 789 +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Auf gesamte Warteschlange anwenden" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "Interpret/Album" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "Interpret - Album" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "Sehr niedrig" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Niedrig" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Normal" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Hoch" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Sehr hoch" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Extrem hoch" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 Bit (sehr niedrige Qualität)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 Bit (Standard)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 Bit" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "Geringer (schneller)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "Standard" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "Besser (langsamer)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "Konstante Bitrate (CBR)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "Durchschnittliche Bitrate (ABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "Variable Bitrate (VBR) - Beste Qualität" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC verlustfrei (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "MS Wave (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "Werk" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "GNOME-Audio-Profil" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "Nummer - Titel" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "Titel" + +# # line 1037 +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Einstellungen" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "Gleiches Verzeichnis wie Eingabedateien" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Auswählen …" + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "In den ausgewählten Ordner" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Unterordner anlegen: " + +# # line 1296 +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Originaldatei löschen" + +# # line 1323 +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Speicherort für Zieldateien</b>" + +# # line 1401 +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Namensschema: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Problematische Zeichen entfernen" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "Alle Zeichen außer Buchstaben, Zahlen und ./_- entfernen" + +# # line 1480 +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Namensvorschau:</i>" + +# # line 1545 +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Benennung der Zieldateien</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Format: " + +# # lines 1710 1876 2037 +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Qualität:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Erweiterung .oga verwenden" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +# # line 1848 +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Bitratenmodus:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Komprimierung:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Sample-Format:" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "Werk" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Profil:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "gst-Profil" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Gewünschtes Zielformat</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Sample-Auflösung:" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Mono-Ausgabe erzwingen" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "Anzahl paralleler Konvertierungen begrenzen" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "Kein MP3-Kodierer vorhanden." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Installationshinweise" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Speicherort für Zieldateien" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "Sound Converter" + +# # line 42 +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Datei" + +# # line 157 +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "_Bearbeiten" + +# # line 201 +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_Hilfe" + +# # lines 51 279 +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Datei hinzufügen" + +# # lines 73 + 296 +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "_Ordner hinzufügen" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Konvertierung per Stapelverarbeitung von der Befehlszeile ausgehend,\n" +" ohne grafische Benutzeroberfläche. Besonders sinnvoll für Shell-Skripte." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" +"Meta-Tags der Eingabedateien anzeigen, anstatt sie umzuwandeln. Dies führt " +"zu\n" +" einer Stapelverarbeitung auf der Befehlszeile ohne grafische " +"Benutzeroberfläche." + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" +"Ausgabe-MIME-Typ für die Stapelverarbeitung festlegen. Vorgabe ist %s. " +"Beachten Sie,\r\n" +" dass Sie wahrscheinlich auch die Endung der Ausgabedateien festlegen " +"möchten." + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Stilles Verhalten. Keine Standardausgabe, nur Fehler." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "Zusätzliche Information zur Fehlerdiagnose anzeigen" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" +"Endung der Ausgabedateien für die Stapelverarbeitung festlegen. Vorgabe ist " +"%s . Beachten Sie,\n" +" dass sich die Dateiendung nicht auf den Ausgabe-MIME-Typ auswirkt." + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Anzahl der gleichzeitigen Konvertierungen erzwingen." + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "GStreamer-Optionen anzeigen" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Fehler: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "Installation der Erweiterung wurde abgebrochen." + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Ordner »%s« kann nicht erstellt werden." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "GStreamer-Fehler:" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "Konvertierung nach %s abgeschlossen" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "Unbekanntes Album" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "Unbekannter Interpret" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "Alle Dateien" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"Fehler: %s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "Dateien werden untersucht …" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "Dateien werden hinzugefügt …" + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Wie Quelldatei, Dateiendung aber ändern" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Wie Quelldatei, aber mit zusätzlicher Dateiendung" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Nummer - Titel" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "Titel" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Interpret - Titel" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Benutzerdefiniertes Dateinamensschema" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "Interpret-Album" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "Verfügbare Platzhalter:" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "In Ordner %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "<small>Bitrate der Zieldatei: %s</small>" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Datei öffnen" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Ordner hinzufügen …" + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "Konvertierung wird vorbereitet …" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Konvertierung läuft" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Abgebrochen" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Angehalten" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d verbleibend" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Bereit" diff --git a/po/el.po b/po/el.po new file mode 100644 index 0000000..f6ed60a --- /dev/null +++ b/po/el.po @@ -0,0 +1,531 @@ +# Greek translation for soundconverter +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-01-13 03:53+0000\n" +"Last-Translator: jarlaxl lamat <sztaasz@gmail.com>\n" +"Language-Team: Greek <el@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: el\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Μετατροπέας Ηχου" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Μετατροπέας Αρχείων Ηχου" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "διάλογος1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Φίλτρο " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Σφάλμα" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Αρχείο ήδη υπάρχον" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Αντικατάσταση" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "Παράβλεψη" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Αρχείο ήδη υπάρχον</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Εφαρμογή σε ολόκληρη τη σειρά αναμονής" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "καλλιτέχνης/άλμπουμ" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "καλλιτέχνης - άλμπουμ" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Υψηλο" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Πολύ υψηλή" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 bits (πολύ χαμηλή ποιότητα)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 bits (προεπιλογή)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 bits" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "Προεπιλογή" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC Χωρίς απώλειες(.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Προτιμήσεις" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Επιλέξτε..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "Σε προκαθορισμένο φάκελο" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Δημιουργία υποφακέλων " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Διαγραφή του πρωτότυπου αρχείου" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Πού να βάλω τα αρχεία; </b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Ονοματοδοσία αρχείου: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Αντικατάσταση όλων των προβληματικών χαρακτήρων" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Παράδειγμα αρχείου:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Πως να ονομάσω τα αρχεία;</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Τύπος αρχείου " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Ποιότητα:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Είδος συμπίεσης" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Συμπίεση:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Προφίλ:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Είδος αρχείου εξόδου;</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "Κωδικοποιητής ΜΡ3 δεν υπάρχει." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Διαβάστε πώς να το εγκαταστήσετε" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Που να τοποθετήσω τα αρχεία εξόδου;" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "SoundConverter" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Προσθήκη Αρχείου" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Προσθήκη_Φακέλου" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Μετατροπή από την γραμμή εντολών (κατάσταση batch), χωρίς γραφικό " +"περιβάλλον.\n" +" Π.χ. για χρήση μέσω εντολών κελύφους." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Ησυχία. Μη καταγράφεις το κανονικό αποτέλεσμα, μόνο λάθη." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Σφάλμα:%s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Δεν μπορώ να δημιουργήσω τον φάκελο '%s' ." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "" + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Το ίδιο όπως το αρχικό, αλλά με αντικατάσταση του επιθήματος" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Το ίδιο όπως το αρχικό, αλλά με πρόσθετο επίθημα." + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Αριθμός κομματιού - τίτλος" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Καλλιτέχνης - τίτλος" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Προσαρμοσμένο όνομα αρχειου" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "καλλιτέχνις-άλμπουμ" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "Στον φάκελο %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Επιθυμητή συμπίεση: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Προσθήκη φακέλου..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Μετατρέπω" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Ακυρώθηκε" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Σε παύση" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d απομένουν" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Έτοιμο" diff --git a/po/en_AU.po b/po/en_AU.po new file mode 100644 index 0000000..968f660 --- /dev/null +++ b/po/en_AU.po @@ -0,0 +1,530 @@ +# English (Australia) translation for soundconverter +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-01-13 03:51+0000\n" +"Last-Translator: Hew McLachlan <hew.mclachlan@gmail.com>\n" +"Language-Team: English (Australia) <en_AU@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: \n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Sound Converter" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Audio Format Converter" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "dialog1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filter " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Error" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "File exists already" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Overwrite" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Skip" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>File exists already</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Apply to entire queue" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "artist/album" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "artist - album" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Preferences" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Choose..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "Into a specified folder" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Create subfolders: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Delete original file" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Where to place results?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Filename pattern: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Replace all messy characters" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Example filename:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>How to name files?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Format: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Quality:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Use .oga extension" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Bitrate mode:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Compression:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Sample width:" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Type of result?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Resample" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Force mono output" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "MP3 Encoder is not present." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Read how to install" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Where to place results?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "SoundConverter" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_File" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "_Edit" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_Help" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Add File" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Add _Folder" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Be quiet. Don't write normal output, only errors." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Force number of concurrent conversions." + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Error: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Cannot create '%s' folder." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "" + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Same as input, but replacing the suffix" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Same as input, but with an additional suffix" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Track number - title" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Artist - title" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Custom filename pattern" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "artist-album" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "Into folder %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Target bitrate: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Add Folder..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Converting" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Cancelled" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Paused" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d left" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Ready" diff --git a/po/en_GB.po b/po/en_GB.po new file mode 100644 index 0000000..819be3a --- /dev/null +++ b/po/en_GB.po @@ -0,0 +1,542 @@ +# English (United Kingdom) translation for soundconverter +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2013-08-14 23:58+0000\n" +"Last-Translator: Anthony Harrington <untaintableangel@ubuntu.com>\n" +"Language-Team: English (United Kingdom) <en_GB@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: \n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Sound Converter" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Audio Format Converter" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "Converts audio files into other formats" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "GNOME-powered Sound Conversion" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Website" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "dialog1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filter " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Error" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "File already exists" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Overwrite" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Skip" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>File exists already</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Apply to entire queue" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "artist/album" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "artist - album" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "Very Low" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Low" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Normal" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "High" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Very High" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Insanely High" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 bits (very low quality)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 bits (default)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 bits" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "Less (Faster)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "Default" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "Better (Slower)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "Constant (CBR)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "Average (ABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "Variable (VBR) - Best quality" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC Lossless (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "MS Wave (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "Opus (.opus)" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "GNOME Audio Profile" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "track_number - track_title" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "track_title" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Preferences" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "Same folder as the input file" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Choose..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "Into a specified folder" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Create subfolders: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Delete original file" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Where to place results?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Filename pattern: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Replace all messy characters" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "Remove all characters except letters, digits and ./_-" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Example filename:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>How to name files?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Format: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Quality:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Use .oga extension" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Bitrate mode:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Compression:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Sample width:" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "Opus" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Profile:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "gst-profile" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Type of result?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Resample" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Force mono output" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "Limit number of parallel jobs" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "MP3 Encoder is not present." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Read how to install" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Where to place results?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "SoundConverter" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_File" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "_Edit" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_Help" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Add File" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Add _Folder" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Be quiet. Don't write normal output, only errors." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "Displays additional debug information" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Force number of concurrent conversions." + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "Shows GStreamer Options" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Error: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "Cannot create folder!" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "Error while renaming file!" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "Plugin installation aborted." + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Cannot create '%s' folder." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "GStreamer Error:" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "Conversion done in %s" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "Unknown Album" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "Unknown Artist" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "All files" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"Error: %s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "Scanning files..." + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "Adding files..." + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Same as input, but replacing the suffix" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Same as input, but with an additional suffix" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Track number - title" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "Track title" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Artist - title" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Custom filename pattern" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "artist-album" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "Available patterns:" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "Into folder %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Target bitrate: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Open a file" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Add Folder..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "Preparing conversion..." + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Converting" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Cancelled" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Paused" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d left" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Ready" diff --git a/po/eo.po b/po/eo.po new file mode 100644 index 0000000..84766b8 --- /dev/null +++ b/po/eo.po @@ -0,0 +1,530 @@ +# Esperanto translation for soundconverter +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2013-03-14 15:42+0000\n" +"Last-Translator: Michael Moroni <michael.moroni@mailoo.org>\n" +"Language-Team: Esperanto <eo@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: eo\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Sonkonvertilo" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Konvertilo por sonformoj" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "dialogo1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filtrilo " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Eraro" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Dosiero jam ekzistas" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Anstataŭigi" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Transsalti" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Dosiero jam ekzistas</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Apliki al tuta atendovico" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "artisto/albumo" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "artisto - albumo" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Agordoj" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Elekti..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "En specifitan dosierujon" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Krei subdosierujojn: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Forigi originalan dosieron" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Kien meti rezultojn?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Modelo de dosiernomo: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Anstataŭigi ĉiujn nekutimajn signojn" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Ekzempla dosiernomo:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Kiel nomi la dosierojn?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Formo: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Kvalito:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Uzi sufikson .oga" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Reĝimo por bitrapido:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Densigo:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Specimenlarĝo" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Rezultotipo?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Respecimeni" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Trudi unukanalan eligon" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "MP3-kodilo ne disponeblas" + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Legu kiel instali" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Kien meti rezultojn?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "SoundConverter" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Dosiero" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "R_edakti" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_Helpo" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Aldoni dosieron" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Aldoni d_osierujon" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Konverti en komandreĝimo, per la komanda linio, sen grafika\n" +" interfaco. Vi povas uzi tion ĉi ekde ekzemple ŝelskriptoj." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Silenta reĝimo. Montri ne la norman eligon, nur erarojn." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Trudi nombron da nunaj konvertoj." + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Eraro: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "" + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "" + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Artisto - titolo" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "artisto-albumo" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "" + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "" diff --git a/po/es.po b/po/es.po new file mode 100644 index 0000000..3bc6d05 --- /dev/null +++ b/po/es.po @@ -0,0 +1,543 @@ +# Spanish translation for soundconverter +# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2013-08-31 19:06+0000\n" +"Last-Translator: Adolfo Jayme Barrientos <fitoschido@gmail.com>\n" +"Language-Team: Spanish <es@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: es\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Conversor de sonido" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Conversor de formatos de audio" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "Convierte archivos de audio a otros formatos" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "Conversión de sonido impulsada por GNOME" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Sitio web" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "dialog1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filtro " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Error" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "El archivo ya existe" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Sobreescribir" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Omitir" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>El archivo ya existe</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Aplicar a toda la cola" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "artista/álbum" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "artista - álbum" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "Muy bajo" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Bajo" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Normal" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Alto" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Muy alto" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Muy alto" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 bits (calidad muy baja)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 bits (predeterminado)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 bits" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "Menos (más rápido)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "Predeterminado" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "Mejor (más lento)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "Constante (CBR)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "Promedio (ABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "Variable (VBR) - Mejor calidad" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC sin pérdida (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "MS Wave (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "Opus (.opus)" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "Perfil de sonido de GNOME" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "track_number - track_title" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "track_title" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Preferencias" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "Misma carpeta del archivo de entrada" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Elegir…" + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "En una carpeta especificada" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Crear subcarpetas: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Eliminar el archivo original" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>¿Dónde colocar los resultados?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Patrón de nombre de archivo: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Reemplazar todos los caracteres problemáticos" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "Quitar todos los caracteres excepto letras, dígitos y ./_-" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Ejemplo de nombre de archivo:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>¿Cómo nombrar los archivos?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Formato: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Calidad:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Usar extensión .oga" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Tasa de bits:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Compresión:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Ancho de muestra:" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "Opus" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Perfil:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "gst-profile" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>¿Tipo de resultado?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Remuestreo" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Forzar salida a mono" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "Limitar el número de tareas paralelas" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "Codificador MP3 no presente." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Leer cómo instalar" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "¿Donde colocar los archivos?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "Conversor de sonido" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Archivo" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "_Editar" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "Ay_uda" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Añadir archivo" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Añadir _carpeta" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Convertir en modo por lotes, desde la línea de comandos, sin modo gráfico\n" +"de usuario. Puede usar esto, por ejemplo, en scripts de shell." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" +"Mostrar las etiquetas de los archivos en vez de convertirlos. Indica\n" +"procesamiento por lotes por línea de comandos y deshabilita la interfaz " +"gráfica." + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" +"Establecer el tipo MIME de salida para el modo por lotes. El predeterminado " +"es %s. Note que probablemente también quiera fijar el sufijo de salida." + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Modo silencioso. No escribir salida normal, sólo errores." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "Muestra información de depuración adicional" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" +"Establecer el sufijo de nombre de archivo para el modo por lotes. El " +"predeterminado es %s. Note que el\n" +" sufijo no afecta el tipo MIME de salida." + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Forzar número de conversiones concurrentes." + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "Muestra Opciones de GStreamer" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Error: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "No se puede crear la carpeta." + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "Ocurrió un error al renombrar el archivo." + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "Instalación de complemento abortada." + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "No se puede crear la carpeta «%s»." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "Error de GStreamer:" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "Conversión finalizada en %s" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "Álbum desconocido" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "Artista desconocido" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" +"Artista Álbum Título Pista Total Género Fecha Año MarcaDeTiempo " +"NúmeroDeDisco TotalDeDiscos Ext" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "Todos los archivos" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"Error: %s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "Analizando archivos…" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "Añadiendo archivos…" + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "El mismo nombre, pero reemplazando el sufijo" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "El mismo nombre, pero con un sufijo adicional" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Número de pista - título" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "Título de la pista" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Artista - título" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Patrón de nombre de archivo personalizado" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "artista-álbum" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "Patrones disponibles:" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "En la carpeta %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Tasa de bits objetivo: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Abrir un archivo" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Añadir carpeta…" + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "Preparando conversión..." + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Convirtiendo" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Cancelado" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Pausado" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d restantes" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Preparado" diff --git a/po/et.po b/po/et.po new file mode 100644 index 0000000..2f563eb --- /dev/null +++ b/po/et.po @@ -0,0 +1,533 @@ +# Estonian translation for soundconverter +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-01-13 03:36+0000\n" +"Last-Translator: GautierPortet <kassoulet@gmail.com>\n" +"Language-Team: Estonian <et@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: et\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Heli teisendaja" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Heli vormingu teisendaja" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Veebileht" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "dialoog1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filter " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Tõrge" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Fail on juba olemas" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Kirjuta üle" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Jäta vahele" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Fail on juba olemas</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "R_akenda tervele järjekorrale" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "esitaja/album" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "esitaja - album" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "Väga madal" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Madal" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Normaalne" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Kõrge" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Väga kõrge" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Väga kõrge" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8-bitti (väga madal kvaliteet)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16-bitti (vaikimisi)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32-bitti" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "Vähem (kiirem)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "Vaikimisi" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "Kvaliteetsem (Aeglasem)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "Muutumatu bittrate (CBR)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "Keskmine (ABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC Lossless (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "MS Wave (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "GNOME heliprofiil" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "Loo_number - Loo_pealkiri" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "Loo_pealkiri" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Seaded" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Vali..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "Määratud kataloogi" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Loo alamkataloogid: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Kustuta originaalfail" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Kuhu asetada tulemused?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Failinime muster: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Asenda kõik koledad märgid" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Näidis failinimi:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Kuidas faile nimetada?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Vorming: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Kvaliteet:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Kasuta .oga laiendit" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Bitikiiruse režiim:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Tihendus:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Diskreedi laius:" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Profile:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "gst-profile" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Tulemuse tüüp?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Diskreedi ümber" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Sunni mono väljund" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "Piira paralleeltöötluste arvu" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "Puudub MP3-e enkodeerija." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Loe, kuidas paigaldada" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Kuhu asetada tulemused?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "SoundConverter" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Fail" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "_Redigeeri" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "A_bi" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "Faili _lisamine" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "_Kausta lisamine" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Teisenda hulgirežiimis käsurealt, ilma graafilise liideseta.\n" +"Sa võid seda kasutada näiteks skriptides." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Ole vaiksem. Ära kuva tavalist väljundit, ainult tõrked." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Sunntud üheaegsete teisenduste arv." + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Tõrge: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Kausta '%s' loomine nurjus." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "GStreameri tõrge:" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "Kõik failid" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"Viga: %s\n" +" %s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "Failide lisamine..." + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Sama nagu sisendil, aga asendades järelliite" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Sama nagu sisendil, aga täiendav järelliide" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Raja number - pealkiri" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "Raja pealkiri" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Esitaja - pealkiri" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Kohandatud failinime muster" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "esitaja-album" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "Võimalikud mustrid:" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "Kausta %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Siht bitikiirus: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Faili avamine" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Kataloogi lisamine..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Teisendan" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Katkestatud" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Pausitud" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d jäänud" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Valmis" diff --git a/po/eu.po b/po/eu.po new file mode 100644 index 0000000..ce9ca0b --- /dev/null +++ b/po/eu.po @@ -0,0 +1,543 @@ +# Basque translation for soundconverter +# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2013-03-07 17:37+0000\n" +"Last-Translator: jajasuperman <enekosampedro@gmail.com>\n" +"Language-Team: Basque <eu@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: eu\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Soinu-bihurtzailea" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Audio Formatu Bihurtzailea" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "Audio fitxategiak beste formatuetara bihurtzen ditu" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "GNOME-k indarturiko Soinu Bihurketa" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Webgunea" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "elkarrizketa1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Iragazkia " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Errorea" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Fitxategia dagoeneko existitzen da" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Gainidatzi" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Saltatu" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Fitxategia dagoeneko existitzen da</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Aplikatu ilada osoari" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "artista/albuma" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "artista - albuma" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "Oso baxua" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Baxua" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Normala" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Altua" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Oso altua" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Izugarri altua" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 bit (oso kalitate baxua)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 bit (lehenetsia)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 bit" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "Gutxiago (Azkarragoa)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "Lehenetsia" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "Hobea (Motelagoa)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "Konstantea (CBR)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "Batez bestekoa (ABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "Aldakorra (VBR) - Kalitaterik onena" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "Galerarik gabeko FLAC (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "MS Wave (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "GNOME Audio Profila" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "pista_zenbakia - pistaren_izenburua" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "pistaren_izenburua" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Hobespenak" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "Sarrerako fitxategia izen bera du" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Aukeratu..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "Zehaztutako karpetara" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Sortu azpikarpetak: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Ezabatu jatorrizko fitxategia" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Non kokatu emaitzak?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Fitxategi-izen eredua: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Ordezkatu karaktere narrats guztiak" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "Kendu karaktere guztiak letrak, zenbakiak eta ./_- ezik" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Fitxategi-izenaren adibidea:<i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Nola izendatu fitxategiak?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Formatua: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Kalitatea:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Erabili .oga luzapena" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Bit-emari modua:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Konpresioa:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Lagin-zabalera:" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Profila:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "gst-profila" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Emaitza mota?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Lagindu berriro" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Behartu mono irteera" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "Mugatu lan paralelo kopurua" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "MP3 Kodetzailerik ez dago" + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Irakurri nola instalatu" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Non kokatu emaitzak?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "Soinu-bihurtzailea" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Fitxategia" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "_Editatu" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_Laguntza" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Gehitu fitxategia" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "_Gehitu karpeta" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Bihurtu batch moduan, komando lerrotik, erabiltzaile-interfaze\n" +" grafikorik gabe. Shell scriptetan erabili dezakezu hau, adibidez." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" +"Erakutsi sarrerako fitxategien etiketak bihurtu ordez. Honek komando " +"lerroko\n" +"batch modua adierazten du eta erabiltzaile interfaze grafikoa desgaitzen du." + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" +"Ezarri batch modurako irteerako MIME mota. Lehenetsia %s da. Kontutan izan, " +"ziur aski, irteerako atzizkia ere aldatu nahiko duzula." + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Isila izan. Irteera arruntean erroreak soilik idatzi." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "Arazketako informazio gehigarria erakusten du" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" +"Ezarri irteerako fitxategi-izenaren atzizkia batch modurako. Lehenetsia %s " +"da. Kontutan izan atzizkiak\n" +" ez duela eraginik irteeraren MIME motan." + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Behartu aldibereko bihurketen kopurua." + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "GStreamer aukerak erakusten ditu" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Errorea: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "Plugin instalazioa gelditu da." + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Ezin da '%s' karpeta sortu." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "GStreamer Errorea:" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "Bihurketa eginda %s-(e)n" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "Album ezezaguna" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "Artista ezezaguna" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" +"Artista Albuma Izenburua Pista Totala Generoa Data Urtea Data-zigilua " +"DiskoZenbakia DiskoTotala Ext" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "Fitxategi guztiak" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"Errorea: %s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "Fitxategiak eskaneatzen..." + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "Fitxategiak gehitzen..." + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Sarrerakoa bezalakoa, baina atzizkia ordezkatuz" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Sarrerakoa bezalakoa, baina atzizki gehigarri batekin" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Pista zenbakia - izenburua" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "Pistaren izenburua" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Artista - izenburua" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Fitxategi-izen eredu pertsonalizatua" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "artista-albuma" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "Eredu erabilgarriak:" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "%s karpetara" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Helburuko bit-emaria: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Ireki fitxategi bat" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Gehitu karpeta..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "Bihurketa prestatzen..." + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Bihurtzen" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Utzita" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Pausatuta" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d falta dira" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Prest" diff --git a/po/fa.po b/po/fa.po new file mode 100644 index 0000000..015cfb4 --- /dev/null +++ b/po/fa.po @@ -0,0 +1,524 @@ +# Persian translation for soundconverter +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-01-13 03:36+0000\n" +"Last-Translator: GautierPortet <kassoulet@gmail.com>\n" +"Language-Team: Persian <fa@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: fa\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "صافی " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "خطا" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "هنرمند/آلبوم" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "هنرمند - آلبوم" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "تنظیمات" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "انتخاب..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "" + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "" + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "" + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "کیفیت:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "" + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "" + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "" + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "" + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "هنرمند/آلبوم" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "افزودن پوشه..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "لغو شده" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "مکث شده" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "آماده" diff --git a/po/fi.po b/po/fi.po new file mode 100644 index 0000000..9d0e519 --- /dev/null +++ b/po/fi.po @@ -0,0 +1,533 @@ +# Finnish translation for soundconverter +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2013-05-05 15:24+0000\n" +"Last-Translator: Jiri Grönroos <Unknown>\n" +"Language-Team: Finnish <fi@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: fi\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Äänitiedostojen muunnin" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Äänitiedostojen muunnin" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "Muunna äänitiedostoja eri tiedostomuotoihin" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "Äänitiedostojen muunnin Gnomelle" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Verkkosivusto" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "valintaikkuna1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Suodatin " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Virhe" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Tiedosto on jo olemassa" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Korvaa" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "O_hita" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Tiedosto on jo olemassa</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Toteuta koko jonoon" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "esittäjä/levy" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "esittäjä - levy" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "Erittäin matala" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Matala" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Normaali" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Korkea" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Erittäin korkea" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Mielettömän korkea" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 bittiä (erittäin matala laatu)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 bittiä (oletus)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 bittiä" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "Oletus" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "Tasainen (CBR)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "Keskiarvo (ABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "Vaihteleva (VBR) - Paras laatu" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC - häviötön (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "MS Wave (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "Opus (.opus)" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "GNOME-ääniprofiili" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "kappaleen_numero - kappaleen_nimi" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "kappaleen_nimi" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Asetukset" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "Samaan kansioon kuin lähdetiedosto" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Valitse..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "Tiettyyn kansioon" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Luo alihakemistot: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Poista alkuperäinen tiedosto" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Kohdekansio</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Tiedostonimen kaava: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Korvaa kaikki sekavat kirjaimet" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "Poista kaikki merkit lukuun ottamatta kirjaimia, numeroita ja ./_-" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Esimerkki tiedostonimestä:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Tiedostojen nimeäminen</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Muoto: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Laatu:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Käytä .oga-tiedostopäätettä" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Bittinopeuden tila:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Pakkaus:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "Opus" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Profiili:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Kohdemuoto</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Tarkkuuden muutos" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Pakota mono -ulostulo" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "Rinnakkaisten töiden enimmäismäärä" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "MP3-pakkaajaa ei löydy." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Asennusohje" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Kohdekansio" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "Äänenmuunnin" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Tiedosto" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "_Muokkaa" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_Ohje" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Lisää tiedosto" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Lisää _kansio" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Muunna erätilassa, komentoriviltä ilman graafista käyttöliittymää.\n" +" Voit käyttää tätä esim. skriptien kanssa." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Hiljainen tila. Ei kirjoita normaalia tulostetta, vain virheet." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Rajoita samanaikaisten muunnosten määrää." + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "Näyttää GStreamer-valinnat" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Virhe: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "Kansion luonti ei onnistu!" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "Virhe muuttaessa tiedoston nimeä!" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "Liitännäisen asennus keskeytetty." + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Hakemistoa \"%s\" ei voida luoda." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "GStreamer-virhe:" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "Muunnos valmistui ajassa %s" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "Tuntematon levy" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "Tuntematon esittäjä" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "Kaikki tiedostot" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"Virhe: %s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "Selataan tiedostoja..." + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "Lisätään tiedostoja..." + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Sama kuin lähdetiedosto, mutta muuta pääte" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Sama kuin lähdetiedosto, mutta lisää pääte" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Kappaleen numero - nimi" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "Kappaleen nimi" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Esittäjä - kappale" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Omavalintainen nimeämiskaava" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "esittäjä-levy" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "Käytettävissä olevat kaavat:" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "Kansioon %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Kohteen bittinopeus: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Avaa tiedosto" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Lisää kansio..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "Valmistaudutaan muunnokseen..." + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Muunnetaan" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Peruttu" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Keskeytetty" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d jäljellä" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Valmis" diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 0000000..dfb38f6 --- /dev/null +++ b/po/fr.po @@ -0,0 +1,546 @@ +# French translation of soundconverter. +# Copyright (C) 2004 Lars Wirzenius, 2005-2007 Gautier Portet +# This file is distributed under the same license as the soundconverter package. +# Guillaume Bedot <littletux@zarb.org>, 2007. +# Uwe Bugla <Unknown>, 2012. +# daufinsyd <sydney.gems@laposte.net>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter 1.4.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2013-10-31 07:20+0000\n" +"Last-Translator: GautierPortet <kassoulet@gmail.com>\n" +"Language-Team: French <en@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: fr\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Convertisseur audio" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Convertisseur de fichiers audio" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "Convertit des fichiers audio en d'autres formats" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "Conversion audio avec GNOME" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Site web" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "dialogue1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filtre " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Erreur" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Le fichier existe déjà" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Écraser" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Ignorer" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Le fichier existe déjà</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Appliquer à toute la file" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "artiste/album" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "artiste - album" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "Très basse" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Basse" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Normale" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Élevée" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Très élevée" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Incroyablement élevée" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 bits (qualité très basse)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 bits (par défaut)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 bits" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "Moindre (plus rapide)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "Par défaut" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "Meilleure (plus lent)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "Constant (CBR)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "Moyenne (ABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "Variable (VBR) - La meilleure qualité" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC Sans perte (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "MS Wave (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "Opus (.opus)" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "Profil audio GNOME" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "Numéro_de_piste - Titre_de_la_piste" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "Titre de la piste" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Préférences" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "Dans le même dossier que la source" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Parcourir..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "Dans le dossier spécifié" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Créer des sous-répertoires : " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Supprimer le fichier d'origine" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Où placer les fichiers convertis ?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Modèle pour les noms de fichiers : " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Remplacer tous les caractères bizarres" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "Enlever tous les caractères sauf les lettres, chiffres et ./_-" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Exemple de nom de fichier :</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Comment nommer les fichiers ?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Format : " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Qualité :" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Utiliser l'extension .oga" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Débit binaire :" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Compression :" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Échantillonnage :" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "Opus" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Profil :" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "Profil GST" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Type de fichier en sortie ?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Resampler" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Forcer la sortie en mono" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "Limiter le nombre de conversions en parallèle" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "L'encodeur MP3 n'est pas présent." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Lire comment installer" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Où placer les fichiers convertis ?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "Convertisseur audio SoundConverter" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Fichier" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "_Éditer" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_Aide" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Ajouter un fichier" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Ajouter_un _répertoire" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Convertit en mode batch, depuis la ligne de commande sans interface\n" +" graphique. À utiliser dans des scripts shell." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" +"Montre les tags des fichiers sources au lieu de les convertir. Ceci indique " +"\n" +" le mode batch depuis la ligne de commande et désactive l'interface " +"graphique." + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" +"Indique le type MIME de sortie mode batch. %s par défaut. Vous voudrez " +"probablement aussi configurer le suffixe de sortie." + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Silencieux. Affiche uniquement les erreurs." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "Affiche des informations complémentaires de déboguage." + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" +"Indique le suffixe du fichier de sortie en mode batch. %s par défaut . " +"Prendre note que le suffixe\n" +" n'affecte pas le type MIME de sortie." + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Forcer le nombre de conversions simultanées." + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "Montre les options GStreamer" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Erreur : %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "Impossible de créer le dossier !" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "Erreur lors du renommage du fichier !" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "L’installation du greffon a été interrompue." + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Impossible de créer le répertoire « %s »." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "Erreur GStreamer :" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "Conversion complétée en %s" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "Album inconnu" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "Artiste inconnu" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" +"Artiste Album Titre Piste Total Genre Date Année Horodatage NuméroDisque " +"TotalDisque Ext" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "Tous les fichiers" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"Erreur : %s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "Examen des fichiers..." + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "Ajout des fichiers..." + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Comme la source en remplaçant le suffixe" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Comme la source en ajoutant un suffixe" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Numéro de piste - titre" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "Titre de la piste" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Artiste - titre" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Modèle personnalisé pour les noms de fichiers" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "artiste-album" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "Modèles disponibles :" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "Dans le répertoire %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Débit binaire cible : %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Ouvrir un fichier" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Ajouter un répertoire..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "Conversion en cours..." + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Conversion en cours" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Annulé" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "En pause" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d restantes" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Prêt" diff --git a/po/fr_CA.po b/po/fr_CA.po new file mode 100644 index 0000000..262ccb4 --- /dev/null +++ b/po/fr_CA.po @@ -0,0 +1,544 @@ +# French (Canada) translation for soundconverter +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-04-11 16:31+0000\n" +"Last-Translator: Alain-OIivier Breysse <Unknown>\n" +"Language-Team: French (Canada) <fr_CA@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: \n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Convertisseur audio" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Convertisseur de fichiers audio" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "Convertit des fichiers audio en d'autres formats" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "Conversion Audio avec GNOME" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Site Web" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "dialogue1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filtre " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Erreur" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Le fichier existe déjà" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Écraser" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Ignorer" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Le fichier existe déjà</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Appliquer à toute la file" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "artiste/album" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "artiste - album" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "Très basse" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Basse" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Normale" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Haute" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Très élevée" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Incroyablement élevée" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 bits (très basse qualité)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 bits (par défaut)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 bits" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "Moindre (plus rapide)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "Par défaut" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "Meilleure (plus lent)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "Débit Binaire Constant (DBC)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "Débit Binaire Moyen (DBM)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "Débit Binaire Variable (DBV) - La meilleure qualité" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC Sans perte (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "MS Wave (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "Profil Audio GNOME" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "Numéro_de_piste - Titre_de_la_piste" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "Titre_de_la_piste" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Préférences" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Parcourir..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "Dans un dossier spécifié" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Céréer des sous-répertoires : " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Supprimer le fichier d'origine" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Où placer les fichiers convertis?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Modèle de nom de fichier : " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Remplacer tous les caractères bizarres" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "Enlever tous les caractères sauf les lettres, chiffres et ./_-" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Exemple de nom de fichier :</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Comment nommer les fichiers?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Format : " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Qualité :" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Utiliser l'extension .oga" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Débit binaire :" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Compression :" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Échantillonage :" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Profil :" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "Profil-gst" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Type de fichier en sortie?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Rééchantillonage" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Forcer la sortie en mono" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "Limiter le nombre de conversions en parallèle" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "L'encodeur MP3 est absent." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Lire comment installer" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Où placer les fichiers convertis?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "Convertisseur Audio SoundConverter" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Fichier" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "_Éditer" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_Aide" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Ajouter un fichier" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Ajouter_un _répertoire" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Convertit par lot depuis la ligne de commande sans interface\n" +" graphique. À utiliser dans des scripts \"shell\"." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" +"Montre les labels des fichiers source au lieu de les convertir. Ceci indique " +"\n" +" le mode par lot depuis la ligne de commande et désactive l'interface " +"graphique." + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" +"Indique le type MIME de sortie en traitement par lot. %s par défaut. Vous " +"voudrez probablement aussi configurer le suffixe de sortie." + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Silencieux. Affiche uniquement les erreurs." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "Affiche des informations complémentaires de déboguage." + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" +"Indique le suffixe du fichier de sortie en traitement par lot. %s par défaut " +". Prendre note que le suffixe\n" +" n'affecte pas le type MIME de sortie." + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Forcer le nombre de conversions simultanées." + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "Montre les options GStreamer" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Erreur : %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Impossible de créer le répertoire '%s'." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "Erreur GStreamer :" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "Conversion complétée dans %s" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "Album inconnu" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "Artiste inconnu" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" +"Artiste Album Titre Piste Total Genre Date Année Horodatage NuméroDisque " +"TotalDisque Ext" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "Tous les fichiers" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"Erreur : %s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "Analyse des fichiers..." + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "Ajout des fichiers..." + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Comme la source en remplaçant le suffixe" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Comme la source en ajoutant un suffixe" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Numéro de piste - titre" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "Titre de la piste" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Artiste - titre" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Modèle personnalisé pour les noms de fichiers" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "artiste-album" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "Modèles disponibles :" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "Dans le répertoire %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Débit binaire cible : %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Ouvrir un fichier" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Ajouter un répertoire..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "Conversion en cours..." + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Conversion en cours" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Annulé" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "En pause" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d restantes" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Prêt" diff --git a/po/gl.po b/po/gl.po new file mode 100644 index 0000000..0fd03d1 --- /dev/null +++ b/po/gl.po @@ -0,0 +1,544 @@ +# Galician translation for soundconverter +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2013-05-03 06:27+0000\n" +"Last-Translator: Marcos Lans <Unknown>\n" +"Language-Team: Galician <marcoslansgarza@gmail.com>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: gl\n" +"X-Poedit-Language: Galician\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Sound Converter" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Convertedor de formatos de son" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "Converte os ficheiros de son a outros formatos" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "Conversión de son desenvolvida por GNOME" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Sitio web" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "diálogo1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filtro " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Produciuse un erro" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "O ficheiro xa existe" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Sobrescribir" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Omitir" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>O ficheiro xa existe</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Aplicar a toda a cola" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "artista/álbum" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "artista - álbum" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "&Moi baixa" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Baixa" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Normal" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Alta" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Moi alta" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Altísima" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 bits (calidade moi baixa)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 bits (predeterminada)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 bits" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "Menor (máis rápida)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "Predeterminado" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "Mellor (máis lenta)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "Constante (CBR)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "Media (ABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "Variábel (VBR) - Mellor calidade" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC Lossless (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "MS Wave (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "Opus (.opus)" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "Perfil de son de GNOME" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "número_da_pista - título_da_pista" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "título_da_pista" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Preferencias" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "O mesmo cartafol do ficheiro" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Escoller..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "Nun cartafol especificado" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Crear subcartafoles: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Eliminar o ficheiro orixinal" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Onde se deben localizar os resultados?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Modelo para os nomes de ficheiro: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Substituír os caracteres non aceptados" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "Eliminar todos os caracteres excepto letras, díxitos e ./_-" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Exemplo de nome de ficheiro:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Como nomear os ficheiros?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Formato: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Calidade:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Usar a extensión .oga" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Taxa de bits:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Compresión:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Largo da mostra:" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "Opus" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Perfil:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "perfil-gst" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Tipo de resultado?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Volver a mostrar" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Forzar a saída «mono»" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "Número límite de tarefas paralelas" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "O codificador MP3 non está presente." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Información para a instalación" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Onde se deben localizar os resultados?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "SoundConverter" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Ficheiro" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "_Editar" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_Axuda" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Engadir un ficheiro" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Engadir un _cartafol" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Converter en modo por lotes desde a liña de ordes, sen modo gráfico\n" +"de usuario. Pode usar isto, por exemplo, en scripts de consola." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" +"Mostrar as etiquetas dos ficheiros de entrada no canto de convertelos. Isto " +"indica\n" +"o modo en lote de liña de ordes e desactiva a interface gráfica de usuario." + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" +"Estabelecer o tipo MIME de saída para o modo en lote. O predefinido é %s. " +"Observe que probabelmente tamén desexe estabelecer o sufixo de saída." + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Silencioso. Mostrar unicamente os erros." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "Mostra información adicional de depuración" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" +"Estabelece o sufixo do nome do ficheiro de saída para o modo en lote. O " +"predefinido é %s. Observe que o sufixo non afecta\n" +"o tipo MIME de saída." + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Forzar o número de conversións simultáneas" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "Mostrar as opcións de GStreamer" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Erro: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "Non é posible crear o cartafol." + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "Produciuse un erro no renomeado do ficheiro." + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "Cancelouse o plugin de instalación." + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Non é posíbel crear o cartafol '%s'." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "Erro de GStreamer:" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "Conversión rematada en %s" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "Álbum descoñecido" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "Artista descoñecido" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" +"Artista Álbum Título Pista Total Xénero Data Ano MarcaTempo NúmDisco " +"DiscTotal Ext" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "Todos os ficheiros" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"Erro: %s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "Analizando ficheiros..." + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "Engadindo ficheiros..." + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "O mesmo nome de entrada pero substituíndo o sufixo" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "O mesmo nome de entrada pero cun sufixo adicional" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Número da pista - título" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "Título da pista" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Artista - título" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Modelo personalizado para os nomes de ficheiro" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "artista-álbum" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "Patróns dispoñíbeis:" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "No cartafol %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Taxa de bits do resultado: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Abrir un ficheiro" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Engadir un cartafol..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "Preparando a conversión..." + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Conversión en proceso" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Cancelado" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Detido" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d restantes" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Listo" diff --git a/po/he.po b/po/he.po new file mode 100644 index 0000000..18d7905 --- /dev/null +++ b/po/he.po @@ -0,0 +1,530 @@ +# Hebrew translation for soundconverter +# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-01-13 03:37+0000\n" +"Last-Translator: Yaron <sh.yaron@gmail.com>\n" +"Language-Team: LANG <EMAIL@ADDRESS>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: \n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "ממיר סאונד" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "ממיר פורמטים של אודיו" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "דיאלוג1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "פילטר " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "שגיאה" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "קובץ כבר קיים" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_דרוס" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_דלג" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>קובץ כבר קיים</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_החל על כל התור" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "אומן/אלבום" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "אמן - אלבום" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "העדפות" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "בחר..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "לתוך תיקייה מסוימת" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "צור תת-תיקיות: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "מחק את הקובץ המקורי" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>היכן לשים את התוצאה?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "תבנית שם קובץ: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "הסר את כל התווים הבעייתיים" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>דוגמא לשם קובץ:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>איך לקרוא לקבצים?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "פורמט: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "איכות:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "מצב דגימה(bitrate):" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>סוג התוצאה?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "מקודד MP3 לא נמצא." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "קרא כיצד להתקין" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "היכן לשים את התוצאה" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "ממיר סאונד" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_הוסף קובץ" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "הוסף _תיקייה" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"המר באצווה, משורת הפקודה, ללא ממשק משתמש\n" +"טוב לשימוש, למשל, מסקריפט." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "מצב שקט. אל תכתוב פלט רגיל, רק שגיאות." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"שגיאה: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "לא יכול לייצר את התיקייה '%s'" + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "" + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "כמו המקור, רק עם שינוי הסיומת" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "כמו המקור, רק עם סיומת נוספת" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "מספר הרצועה - כותרת" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "אומן - כותרת" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "תבנית שם קובץ מותאמת אישית" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "אומן-אלבום" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "לתוך תיקייה %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "קצב סיביות היעד: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "הוסף תיקייה..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "ממיר" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "בוטל" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "מושהה" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d נותרו" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "מוכן" diff --git a/po/hi.po b/po/hi.po new file mode 100644 index 0000000..6592bd5 --- /dev/null +++ b/po/hi.po @@ -0,0 +1,528 @@ +# Hindi translation for soundconverter +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-01-13 03:44+0000\n" +"Last-Translator: GautierPortet <kassoulet@gmail.com>\n" +"Language-Team: Hindi <hi@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: hi\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "दवानी बदलनेवला" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "संवाद 1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "" + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "त्रुटि" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_छोड़ें" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "ye file\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "प्राथमिकताएँ" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "चुनें..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "" + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "" + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "एस फाइल को कैसे नाम देना हे" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "" + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "विशेषताः" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "मप३" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "वाव" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "" + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "दवानी बदलनेवाला" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "" + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"गलती :%s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "'%s' फोल्डर संबव नहीं हे" + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "" + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "फ़ोल्डर जोड़ें..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "रूपान्तरण" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "रद्द किया" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "ठहरा" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d बाकि हे" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "तैयार" diff --git a/po/hu.po b/po/hu.po new file mode 100644 index 0000000..9085d41 --- /dev/null +++ b/po/hu.po @@ -0,0 +1,535 @@ +# translation of hu.po to Hungarian +# French translation of soundconverter. +# Copyright (C) 2005 THE soundconverter'S COPYRIGHT HOLDER +# This file is distributed under the same license as the soundconverter package. +# +# Guillaume Bedot <littletux@zarb.org>, 2005. +# Olivér Herczeg <ohpasic@gmail.com>, 2007. +msgid "" +msgstr "" +"Project-Id-Version: hu\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-01-13 03:50+0000\n" +"Last-Translator: GautierPortet <kassoulet@gmail.com>\n" +"Language-Team: Hungarian <hu@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: hu\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Hangkonvertáló" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Audió Formátum Konvertáló" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Weboldal" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "dialog1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Szűrő " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Hiba" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "A fájl már létezik" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Felülírás" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Kihagyás" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>A fájl már létezik</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Alkalmazás a teljes sorra" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "szerző / album" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "előadó - album" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "Nagyon alacsony" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Alacsony" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Normális" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Jó" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Nagyon jó" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Elképesztően jó" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 bit (nagyon alacsony minőség)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 bit (alapértelmezett)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 bit" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "Kevesebb (gyorsabb)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "Alapértelmezett" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "Jobb (lassabb)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "Konstans (CBR)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "Átlagos (ABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "Változó (VBR)" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "Veszteségmentes FLAC (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "MS Wave (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "GNOME Hangprofil" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "dal_címe - dal_címe" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "dal_címe" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Beállítások" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Válasszon..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "Megadott könyvtárba" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Alkönyvtárak létrehozása: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Eredeti fájl törlése" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Hova helyezzük az eredményt?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Fájlnév minta: · " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Minden speciális karakter cseréje" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Példa fájlnév:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Mi legyen a fájlok neve?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Formátum: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Minőség:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Az .oga kiterjesztés használata" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Bitráta módja:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Tömörítés:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Minta szélessége:" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Profil:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "gst-profil" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>A kimenet típusa?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Újramintavételezés" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Mono kimenet kényszerítése" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "Párhuzamosan futó feladatok limitálása" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "Nem áll rendelkezésre mp3 kódoló." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Telepítési segédlet elolvasása" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Hova helyezzük az eredményt ?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "Hangkonvertáló" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Fájl" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "S_zerkesztés" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_Súgó" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "Fájl _hozzáadása" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "_Könyvtár hozzáadása" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Konvertálás kötegelt módban, parancssorból, grafikus felület nélkül.\n" +"Ez a mód scriptekből jól használható" + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Csendes üzemmód, nem használ kimenetet, csak hibákat ír." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Hiba:·%s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Nem lehet létrehozni a '%s' könyvtárt." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "GStreamer Hiba:" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "Minden fájl" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"Hiba: %s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "Fájlok hozzáadása..." + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Ugyanaz, mint a bemenet, de a kiterjesztés cseréjével" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Ugyanúgy, mint a bemenet, de további utótaggal" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Track száma - cím" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "Szám címe" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Szerző - cím" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Egyedi fájlnév minta" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "szerző-album" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "Rendelkezésre álló minták:" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "A %s könyvtárba" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Cél bitráta: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Fájl megnyitása" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Könyvtár hozzáadása ..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Konvertálás" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Megszakítva" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Szüneteltetve" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d a hátralévő idő" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Kész" diff --git a/po/it.po b/po/it.po new file mode 100644 index 0000000..5a8edaa --- /dev/null +++ b/po/it.po @@ -0,0 +1,541 @@ +# Italian translation for soundconverter +# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 +# This file is distributed under the same license as the soundconverter package. +# Stefano Luciani <luciani.fa@tiscali.it>, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2013-03-02 14:33+0000\n" +"Last-Translator: Andrea <andre95d@gmail.com>\n" +"Language-Team: Italian <it@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: it\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Sound Converter" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Convertitore Formati Audio" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "Converti file audio in altri formati" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "Conversione del suono offerta da GNOME" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Sito internet" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "dialog1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filtro " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Errore" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Il file esiste già" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Sovrascrivi" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Salta" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Il file esiste già</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Applica all'intera coda" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "artista/album" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "artista - album" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "Molto basso" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Basso" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Normale" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Alto" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Molto alto" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Veramente alto" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 bits (qualità molto bassa)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 bits (default)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 bits" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "Meno (Veloce)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "Predefinito" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "Migliore (Più lento)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "Costante (CBR)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "Media (ABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "Variabile (VBR) - Qualità migliore" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC Lossless (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "MS Wave (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "Profilo Audio GNOME" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "numero_traccia - titolo_traccia" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "Titolo_traccia" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Preferenze" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "Stessa cartella del file di input" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Scegli..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "In una cartella specificata" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Crea sottocartelle: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Elimina il file originale" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Dove posizionare i risultati?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Modello per i nomi dei file: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Sostituire tutti i caratteri non in ordine" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "Rimuove tutti i caratteri eccetto lettere, cifre e ./_-" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Nome del file di esempio:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Come verranno chiamati i file?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Formato: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Qualità:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Usa estensione .oga" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Modalità bitrate:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Compressione:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Ampiezza campione:" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Profilo:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "gst-profile" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Tipo di risultato?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Ricampiona" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Forza uscita mono" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "Limita il numero dei processi paralleli" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "Il codificatore MP3 non è presente." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Leggi come installare" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Dove posizionare i risultati?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "Sound Converter - Convertitore Audio" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_File" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "Modifica" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "Aiuto (_H)" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Aggiungi file" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Aggiungi _Cartella" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Convertire in modalità batch, da linea di comando, senza interfaccia\n" +" grafica. Può essere utilizzato da script della shell." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" +"Mostra i tag dei file di input invece di convertirli. Questo mostra \n" +" la modalità batch a linea di comando e disabilita l'interfaccia grafica" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" +"Imposta il tipo di MIME del file in uscita per la modalità batch. Il tipo " +"predefinito è %s. È preferibile impostarne anche il suffisso." + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Silenzioso. Non riportare l'output normale, ma solo gli errori." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "Visualizzare informazioni di debug aggiuntive" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" +"Imposta il suffisso del file in uscita per la modalità batch. Il suffisso " +"predefinito è %s. Il suffisso non incide sul tipo di MIME del file in uscita" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Forza il numero di conversioni simultanee" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "Mostra le opzioni di GStreamer" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Errore: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "Installazione plugin interrotta." + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Impossibile creare la cartella '%s'." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "Errore di GStreamer:" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "Conversione completata in %s" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "Album sconosciuto" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "Artista sconosciuto" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" +"Artista Album Titolo Traccia Totale Genere Data Anno Timestamp Numero del " +"disco Estensione" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "Tutti i file" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"Errore: %s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "Analisi dei file..." + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "Aggiunta file..." + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Come da input, ma sostituendo l'estensione" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Come da input, ma con una estensione aggiuntiva" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Numero della traccia - titolo" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "Titolo traccia" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Artista - titolo" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Personalizza il modello del nome del file" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "artista-album" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "Modelli disponibili:" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "Nella cartella %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Bitrate bersaglio: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Apri un file" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Aggiungi Cartella..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "Preparazione conversione..." + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Conversione in corso" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Annullato" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "In Pausa" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d.%02d rimanenti" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Pronto" diff --git a/po/ja.po b/po/ja.po new file mode 100644 index 0000000..cd59fa4 --- /dev/null +++ b/po/ja.po @@ -0,0 +1,530 @@ +# Japanese translation for soundconverter +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-05-02 23:46+0000\n" +"Last-Translator: Sid Roberts <Unknown>\n" +"Language-Team: Japanese <ja@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: ja\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "サウンド変換" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "オーディオフォーマット変換" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "ダイアログ1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "フィルター " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "エラー" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "ファイルが既に存在します" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "上書き(_O)" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "スキップ(_S)" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>ファイルが既に存在します</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "全体のキューに適用(_A)" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "アーティスト/アルバム" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "アーティスト - アルバム" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 ビット" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "設定" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "選択..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "指定したフォルダへ入れる" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "サブフォルダを作成: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "変換元のファイルを削除する" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>どこへ変換結果を保存しますか?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "ファイル名パターン: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "文字化けを置換する" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>ファイル名の例:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>ファイル名をどのように付けますか?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "フォーマット: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "音質:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr ".oga 拡張子を使用" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "ビットレートモード:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "圧縮:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "サンプリング長:" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>どの種類に変換しますか?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "リサンプリング" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "モノラル出力を指定" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "MP3 のエンコーダーが有りません。" + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "インストール方法" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "どこへ変換結果を保存しますか?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "SoundConverter" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "ファイル(_F)" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "編集(_E)" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "ヘルプ(_H)" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "ファイルを追加(_A)" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "フォルダを追加(_F)" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"コマンドラインから、GUI なしのバッチモードで変換する。\n" +" シェルスクリプトなどで利用できます。" + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "出力を抑える。通常の出力を表示せずエラーのみにする。" + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "変換の並列度を指定する" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"エラー: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "'%s' フォルダを作成できません。" + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "" + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "拡張子のみ変更する" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "拡張子を付け加える" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "トラック番号 - タイトル" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "アーティスト - タイトル" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "ファイル名パターンを細かく設定" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "アーティスト-アルバム" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "このフォルダの中へ '%s'" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "ターゲットのビットレート: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "フォルダを追加..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "変換中" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "キャンセルされました" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "一時停止" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "残り時間 %d:%02d" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "準備完了" diff --git a/po/ko.po b/po/ko.po new file mode 100644 index 0000000..06cce77 --- /dev/null +++ b/po/ko.po @@ -0,0 +1,523 @@ +# Korean translation for soundconverter +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2013-02-06 02:15+0000\n" +"Last-Translator: Kim Boram <boramism@gmail.com>\n" +"Language-Team: Korean <ko@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "웹 사이트" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "" + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "에러" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "파일이 이미 존재합니다." + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>파일이 이미 존재합니다</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "아티스트/앨범" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "아티스트 - 앨범" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "매우 낮음" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "낮음" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "보통" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "높음" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "매우 높음" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 비트" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "기본값" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "기본 설정" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "선택..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "지정한 폴더" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "하위 폴더 만들기 " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "원본 파일 삭제" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "" + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "" + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "압축:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "프로필:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "리샘플" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "병렬작업의 수 제한" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "MP3 인코더가 존재하지 않습니다." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "" + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "자세한 디버그 정보를 표시합니다" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "" + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "알 수 없는 앨범" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "알 수 없는 아티스트" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "모든 파일들" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "파일을 찾는 중..." + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "" + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "사용자 파일이름 지정" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "아티스트-앨범" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "파일 열기" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "폴더 추가..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "" diff --git a/po/lv.po b/po/lv.po new file mode 100644 index 0000000..8c8d459 --- /dev/null +++ b/po/lv.po @@ -0,0 +1,542 @@ +# Latvian translation for soundconverter +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2011. +# Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2013-02-06 02:16+0000\n" +"Last-Translator: GautierPortet <kassoulet@gmail.com>\n" +"Language-Team: Latviešu <lata-l10n@googlegroups.com>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Skaņas pārveidotājs" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Audio formātu pārveidotājs" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "Pārveido audio datnes citos formātos" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "Uz GNOME pamata veidots skaņas pārveidotājs" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Tīmekļa vietne" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "dialogs1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filtrs " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Kļūda" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Tāda datne jau eksistē" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Pārrakstīt" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "Izlai_st" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Tāda datne jau eksistē</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Attiecināt uz visiem" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "izpildītājs/albums" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "izpildītājs - albums" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "Ļoti zema" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Zema" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Normāla" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Augsta" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Ļoti augsta" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Ārkārtīgi augsta" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 biti (ļoti zema kvalitāte)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 biti (noklusējuma)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 biti" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "Maza (ātrāk)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "Noklusējuma" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "Labāka (lēnāk)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "Konstants (CBR)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "Vidējs (ABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "Mainīgs (VBR) - labākā kvalitāte" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC bezzudumu (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "MS Wave (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "GNOME audio profils" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "celiņa_numurs - celiņa_nosaukums" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "celiņa_nosaukums" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Iestatījumi" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Izvēlēties..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "Norādītajā mapē" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Izveidot apakšmapes: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Dzēst oriģinālo datni" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Kur novietot rezultātu?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Datnes nosaukuma raksts: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Aizvietot visas neatbilstīgās rakstzīmes" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "Izņemt visas rakstzīmes, izņemto burtus, ciparus un ./_-" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Datnes nosaukuma piemērs:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Kā nosaukt datnes?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Formāts: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Kvalitāte:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Lietot .oga paplašinājumu" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Bitu ātrums:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Saspiešana:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Parauga platums:" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Profils:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "gst-profils" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Rezultāta tips?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Mainīt nolases biežumu" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Uzspiest mono izvadi" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "Ierobežot paralēlo darbu skaitu" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "Nav pieejams MP3 kodētājs." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Kā instalēt" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Kur novietot rezultātu?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "SoundConverter" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Datne" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "R_ediģēt" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_Palīdzība" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "Pievienot d_atni" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Pievienot _mapi" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Konvertēt pakešu režīmā, no komandrindas bez grafiskas saskarnes.\n" +"Jūs varat to izmantot, teiksim, no čaulu skriptiem." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" +"Rādīt birkas ievades datnēm nevis tos pārveidot. Tas norāda\n" +"komandrindas pakešu režīmu un deaktivē grafisko saskarni." + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" +"Iestatīt izvades MIME tipu pakešu režīmam. Noklusējuma ir %s. Ņemiet vērā, " +"ka visdrīzāk vajadzētu iestatīt ari izvades sufiksu." + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Būt klusam. Neizvadīt parasto izvadi, tikai kļūdas." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "Rādīt papildu atkļūdošanas informāciju" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" +"Iestatīt izvades datnes nosaukumu sufiksu pakešu režīmā. Noklusējuma ir %s. " +"Ņemiet vērā, ka sufiks \n" +"neietekmē izvades MIME tipu." + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Piespiedu vienlaicīgo pārveidošanu skaits." + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "Rāda GStreamer opcijas" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Kļūda: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "Spraudņa instalēšana tika apturēta." + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Nevar izveidot mapi “%s”." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "GStreamer kļūda:" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "Pārveidošana ir pabeigta %s" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "Nezināms albums" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "Nezināms izpildītājs" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" +"Izpildītājs Albums Nosaukums Celiņš Kopā Žanrs Datums Gads LaikaSpiedogs " +"DiskaNumurs DiskiKopā Papl" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "Visas datnes" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"Kļūda: %s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "Skenē datnes..." + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "Pievieno datnes..." + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Tāds pats kā ievade, bet aizvieto sufiksu" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Tāds pats kā ievade, bet ar papildu sufiksu" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Celiņa numurs - nosaukums" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "Celiņa nosaukums" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Izpildītājs - nosaukums" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Pielāgots datnes nosaukuma raksts" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "izpildītājs-albums" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "Pieejamie raksti:" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "Mapē %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Mērķa bitu ātrums: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Atvērt datni" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Pievienot mapi..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "Sagatavo pārveidošanu..." + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Pārveido" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Atcelts" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Pauzēts" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d ir atlicis" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Gatavs" diff --git a/po/ml.po b/po/ml.po new file mode 100644 index 0000000..753d066 --- /dev/null +++ b/po/ml.po @@ -0,0 +1,524 @@ +# Malayalam translation for soundconverter +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-01-13 03:36+0000\n" +"Last-Translator: Launchpad Translations Administrators <Unknown>\n" +"Language-Team: Malayalam <ml@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: ml\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "" + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "" + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "" + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "" + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "" + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "" + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "" + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "" + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "" + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "" + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "" diff --git a/po/ms.po b/po/ms.po new file mode 100644 index 0000000..4e292f2 --- /dev/null +++ b/po/ms.po @@ -0,0 +1,543 @@ +# Malay translation for soundconverter +# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2013-04-18 01:43+0000\n" +"Last-Translator: abuyop <Unknown>\n" +"Language-Team: Malay <ms@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: ms\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Penukar Bunyi" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Penukar Format Audio" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "Tukar fail audio kepada format lain" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "Penukar Bunyi Dikuasakan-GNOME" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Laman Sesawang" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "dialog1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Penapis " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Ralat" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Fail telah wujud" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Tulis-Ganti" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Langkau" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Fail telah wujud</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "L_aksanakan keseluruhan baris gilir" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "artis/album" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "artis - album" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "Sangat Rendah" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Rendah" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Biasa" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Tinggi" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Sangat Tinggi" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Terlalui Tinggi" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 bit (kualiti sangat rendah)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 bit (lalai)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 bit" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "Kurang (Lebih Pantas)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "Lalai" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "Lebih Baik (Lebih Perlahan)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "Malar (CBR)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "Putara (ABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "Pembolehubah (VBR) - Kualiti terbaik" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC Tak Hilang (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "Wave MS (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "Opus (.opus)" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "Profil Audio GNOME" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "nombor_trek - tajuk_trek" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "tajuk_trek" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Keutamaan" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "Folder yang serupa sebagai fail input" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Pilih..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "Ke dalam folder yang dinyatakan" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Cipta subfolder: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Buang fail asal" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Manakah hendak letakkan hasil ?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Corak nama fail: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Gantikan semua aksara yang berselerak" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "Buang semua aksara kecuali huruf, digit dan ./_-" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Nama fail contoh:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Bagaimana hendak menamakan fail ini ?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Format: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Kualiti:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Guna sambungan .oga" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Mod kadar bit:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Pemampatan:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Lebar sampel:" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "Opus" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Profil:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "profil-gst" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Jenis hasil?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Sampel semula" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Paksa output mono" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "Bilangan had bagi kerja selari" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "Pengekod MP3 tidak hadir." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Baca bagaimana hendak dipasang" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Manakah hendak meletakkan hasil?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "Penukar Bunyi" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Fail" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "_Sunting" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_Bantuan" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Tambah Fail" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Tambah _Folder" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Tukar dalam mod kelumpok, daria baris perintah, tanpa antaramuka\n" +" pengguna. Anda boleh guna ini daripada skrip shell." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" +"Papar tag bagi fail input selain dari menukarkannya. Ini menunjukkan \n" +"mod kelumpok baris perintah dan lumpuhkan antaramuka pengguna\n" +"bergrafik." + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" +"Tetapkan jenis MIME output untuk mod kelumpok. Lalai ialah %s. Perhatian, " +"anda kemungkinan hendak tetapkan akhiran output juga." + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Senyap. Jangan tulis output biasa, hanya ralat." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "Papar maklumat nyahpepijat tambahan" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" +"Tetapkan akhiran nama fail output untuk mod kelumpok. Lalai ialah %s. " +"Perhatian akhiran tidak memberi\n" +" kesan pada jenis MIME output." + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Paksa bilangan penukaran serentak." + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "Papar Pilihan GStreamer" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Ralat: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "Tidak dapat cipta folder!" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "Ralat semasa menamakan semula fail!" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "Pemasangan pemalam dihenti paksa." + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Tidak dapat cipta folder '%s'" + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "Ralat GStreamer:" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "Penukaran selesai dalam %s" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "Album Tidak Diketahui" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "Artis Tidak Diketahui" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" +"Artis Album Tajuk Trek Jumlah Genre Tarikh Tahun SetemMasa NomborCakera " +"JumlahCakera Samb" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "Semua fail" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"Ralat: %s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "Mengimbas fail..." + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "Menambah fail..." + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Sama seperti input, tetapi menggantikan akhiran" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Sama seperti input, tetapi dengan akhiran tambahan" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Nombor trek - tajuk" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "Tajuk Trek" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Artis - tajuk" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Corak nama fail suai" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "artis-album" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "Corak tersedia:" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "Ke dalam folder %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Kadar bit sasaran: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Buka fail" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Tambah Folder..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "Menyediakan penukaran..." + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Menukar" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Dibatalkan" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Dijeda" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d berbaki" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Sedia" diff --git a/po/nl.po b/po/nl.po new file mode 100644 index 0000000..6cc1486 --- /dev/null +++ b/po/nl.po @@ -0,0 +1,553 @@ +# Dutch Translation of soundconverter +# Copyright (C) 2007 The Free Software Foundation, Inc. +# This file is distributed under the same license as the Soundconverter package. +# Tino Meinen <a.t.meinen@chello.nl>, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: Soundconverter 0.9.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2013-04-18 17:43+0000\n" +"Last-Translator: rob <linuxned@gmail.com>\n" +"Language-Team: Dutch <vertaling@vrijschrift.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: nl\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Geluidsconverteerder" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Geluidsformaat-converteerder" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "Converteert geluidsbestanden naar andere formaten" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "Geluidsconverteerder voor GNOME" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Website" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "dialoog1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filter " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Fout" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Bestand bestaat al" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Overschrijven" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Overslaan" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Bestand bestaat al</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "Op de hele wachtrij _toepassen" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "artiest/album" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "artiest - album" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "Zeer laag" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Laag" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Normaal" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Hoog" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Zeer hoog" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Extreem hoog" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8-bits (zeer lage kwaliteit)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16-bits (standaard)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32-bits" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "Minder (sneller)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "Standaard" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "Beter (langzamer)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "Constant (CBR)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "Gemiddeld (ABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "Variabel (VBR) - Hoogste kwaliteit" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC Lossless (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "MS Wave (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "Opus (.opus)" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "GNOME-audioprofiel" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "track_nummer - nummer_titel" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "nummer_titel" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Voorkeuren" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "Zelfde map als het oorspronkelijke bestand" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Selecteren…" + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "Naar een specifieke map" + +# onderliggende/sub mappen +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Submappen aanmaken: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Origineel bestand verwijderen" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Waar moeten de bestanden worden neergezet?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Bestandsnaampatroon: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Problematische tekens vervangen" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "Alle tekens verwijderen behalve letters, cijfers en ./_-" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Voorbeeld bestandsnaam:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Hoe moeten de bestanden genoemd worden?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Formaat: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Kwaliteit:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr ".oga-extensie gebruiken" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +# bitsnelheid/bitfrequentie/bitrate +# (inmiddels is bitrate vrij ingeburgerd) +# +# Type bitsnelheid/Bitsnelheid type +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Type bitsnelheid:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Compressie:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Sample-breedte:" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "Opus" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Profiel:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "gst-profiel" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Naar welk formaat converteren?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Hersamplen" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Mono-uitvoer forceren" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "Aantal parallelle taken beperken" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "Er is geen MP3-encoder geïnstalleerd." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Lees hoe te installeren" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Waar moeten de bestanden worden neergezet?" + +# titel van het venster, mag hetzelfde blijven +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "SoundConverter" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Bestand" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "Be_werken" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_Hulp" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Bestand toevoegen" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "_Map toevoegen" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Converteren in batch-modus, vanaf de opdrachtregel, zonder grafische\n" +"interface. U kunt dit bijvoorbeeld gebruiken in shell-scripts." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" +"Toon labels voor de oorspronkelijke bestanden in plaats van deze te " +"converteren \n" +" Dit betekent de opdrachtregel batch-modus zonder grafische interface." + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" +"Stel het MIME-type in voor het doelbestand in de batch-modus. Standaard is " +"dit %s . Merk op, dat u waarschijnlijk ook de extensie van het doelbestand " +"wilt instellen." + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Stille modus. Niet de normale uitvoer tonen, alleen de fouten." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "Toont extra foutinformatie" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" +"Stel de extensie in voor het doelbestand in de batch-modus. Standaard is dit " +"%s . Merk op dat de extensie\n" +" geen effect heeft op het MIME-type van het doelbestand." + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Aantal gelijktijdige conversies forceren." + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "Toont GStreamer-opties" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Fout: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "Kan map niet aanmaken!" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "Fout opgetreden bij hernoemen bestand!" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "Installatie plug-in afgebroken." + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Kan de map ‘%s’ niet aanmaken." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "GStreamer-fout:" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "Conversie is gereed over %s" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "Onbekend album" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "Onbekende artiest" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" +"Artiest Album Titel Nummer Totaal Genre Datum Jaar Tijdstempel Schijfnummer " +"Schijftotaal Ext" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "Alle bestanden" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"Fout: %s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "Bestanden worden gescand…" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "Bestanden worden toegevoegd…" + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Hetzelfde als het origineel, extensie vervangen" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Hetzelfde als het origineel, extensie toevoegen" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Tracknummer - titel" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "Nummertitel" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Artiest - titel" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Zelfgemaakt bestandsnaampatroon" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "artiest-album" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "Beschikbare patronen:" + +# waar moeten de bestanden worden neergezet? +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "In de map ‘%s’" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Doelbitsnelheid: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Een bestand openen" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Map toevoegen…" + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "Conversie voorbereiden…" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Converteren" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Geannuleerd" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Gepauzeerd" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d resterend" + +# statusbalkmelding +# gereed/voltooid +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Gereed" diff --git a/po/pl.po b/po/pl.po new file mode 100644 index 0000000..1d48f90 --- /dev/null +++ b/po/pl.po @@ -0,0 +1,545 @@ +# Polish translation for soundconverter package. +# Copyright (C) 2005 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the soundconverter package. +# GNOME PL Team <translators@gnomepl.org>, 2005. +# Tomasz Sałaciński <tsalacinski@gmail.com>, 2008. +# Piotr Sokół <psokol@jabster.pl>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-07-25 10:31+0000\n" +"Last-Translator: Piotr Sokół <Unknown>\n" +"Language-Team: polski <>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: pl\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Konwerter dźwięku" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Konwerter formatów dźwięku" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "Konwertuje pliki dźwiękowe do innych formatów" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "Konwersja dźwięku umożliwiona przez GNOME" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Strona internetowa" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "dialog1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filtr " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Błąd" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Plik już istnieje" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Zastąp" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Pomiń" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Plik już istnieje</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "Z_astosuj na całej kolejce" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "wykonawca/album" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "wykonawca - album" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "Bardzo niska" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Niska" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Zwykła" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Wysoka" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Bardzo wysoka" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Niesamowicie wysoka" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8-bitowa (bardzo niska jakość)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16-bitowa (domyślnie)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 bity" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "Mniej (szybciej)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "Domyślnie" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "Lepiej (wolniej)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "Stałe (CBR)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "Uśrednione (ABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "Zmienne (VBR) - najlepsza jakość" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC bezstratnie (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "MS Wave (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "Profil dźwięku GNOME" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "numer_ścieżki - tytuł_ścieżki" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "tytuł_ścieżki" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Preferencje" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Wybierz..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "W określonym katalogu" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Tworzenie podkatalogów: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Usunięcie pierwotnego pliku" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Położenie docelowe</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Wzór nazwy pliku: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Zastąpienie wszystkich nietypowych znaków" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "Usuwa wszystkie niedozwolone znaki oprócz liter, cyfr i znaków ./_-" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Przykładowa nazwa pliku:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Nazwy plików</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Format: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Jakość:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Użycie rozszerzenia .oga" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Tryb tempa transmisji:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Kompresja:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Długość ścieżki" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Profil:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "gst-profil" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Typ pliku docelowego</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Przepróbkowanie" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Wymuszenie dźwięku jednokanałowego" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "Ograniczenie ilości równocześnie konwertowanych plików" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "Koder MP3 jest niedostępny." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Przeczytaj jak zainstalować" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Położenie docelowe" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "Konwerter dźwięku" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Plik" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "_Edycja" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "Pomo_c" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "Dodaj p_lik" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Dodaj _katalog" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Konwertuje w trybie wsadowym, z wiersza poleceń, bez interfejsu graficznego. " +"Przydatne np. w skryptach powłoki." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" +"Wypisuje etykiety plików źródłowych, zamiast konwertowania. Ta opcja " +"uruchamia tryb wsadowy wiersza poleceń i wyłącza graficzny interfejs " +"użytkownika." + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" +"Ustala typ MIME pliku docelowego w trybie wsadowym. Domyślny typ to %s. " +"Proszę pamiętać również o ustaleniu rozszerzenia pliku docelowego." + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Nie wypisuje żadnych informacji oprócz komunikatów o błędach" + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "Wypisuje dodatkowe informacje diagnozowania błędów" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" +"Ustala rozszerzenie pliku docelowego w trybie wsadowym. Domyślne " +"rozszerzenie to %s. Proszę pamiętać, że rozszerzenie nie ma wpływu na typ " +"MIME pliku docelowego." + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Wymusza ilość bieżąco konwertowanych plików" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "Wypisuje opcje GStreamer" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"błąd: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "Przerwano instalowanie wtyczki." + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Nie można utworzyć katalogu „%s”." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "Błąg GStreamer:" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "Konwersja ukończona w %s" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "Nieznany album" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "Nieznany wykonawca" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" +"Wykonawca Album Tytuł Ścieżka Czas Gatunek Data Rok ZnacznikCzasu NumerPłyty " +"IlośćPłyt Roz" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "Wszystkie pliki" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"Błąd: %s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "Analizowanie plików..." + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "Dodawanie plików..." + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Nazwa źródłowa z nowym rozszerzeniem" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Nazwa źródłowa z dodatkowym rozszerzeniem" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Numer ścieżki - tytuł" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "Tytuł" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Wykonawca - tytuł" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Własny wzór nazwy pliku" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "wykonawca-album" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "Dostępne wzory:" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "Katalog %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Docelowe tempo transmisji: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Otwórz plik" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Dodaj katalog..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "Przygotowywanie konwersji..." + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Konwertowanie" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Anulowano" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Wstrzymano" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "pozostało %d:%02d" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Gotowy" diff --git a/po/pt.po b/po/pt.po new file mode 100644 index 0000000..c6a326c --- /dev/null +++ b/po/pt.po @@ -0,0 +1,530 @@ +# Portuguese translation for soundconverter +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-01-13 03:53+0000\n" +"Last-Translator: GautierPortet <kassoulet@gmail.com>\n" +"Language-Team: Portuguese <pt@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: pt\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Conversor de Som" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Conversor de Formatos de Áudio" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "diálogo1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filtro " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Erro" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "O ficheiro já existe" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Sobrepor" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Ignorar" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>O ficheiro já existe</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Aplicar a toda a fila de espera" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "artista/álbum" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "artista - álbum" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Preferências" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Escolha..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "Para uma pasta específica" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Criar sub-pastas: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Apagar o ficheiro original" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Aonde colocar os resultados?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Padrão para o nome do ficheiro: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Substituir os caracteres confusos" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Examplo do nome do ficheiro:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Como Dar Um Nome Aos Ficheiros?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Formato: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Qualidade:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Taxa de bits:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Tipo de resultado?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "O codificador de MP3 não está presente." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Ler o método de instalação" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Aonde colocar os resultados?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "SoundConverter" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Adicionar Ficheiro" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Adicionar _Pasta" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Converter em lote, a partir da linha de comandos, sem a interface gráfica.\n" +" Pode ser utilizado com base em \"shell scripts\"." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Silencioso. Não escrever detalhes de saída mas sim erros." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Erro: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "" + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "" + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "" + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "" diff --git a/po/pt_BR.po b/po/pt_BR.po new file mode 100644 index 0000000..9d6daa5 --- /dev/null +++ b/po/pt_BR.po @@ -0,0 +1,546 @@ +# Portuguese/Brazil translation of soundconverter. +# Copyright (C) 2005 THE soundconverter'S COPYRIGHT HOLDER +# This file is distributed under the same license as the soundconverter package. +# Jonh Wendell <wendell@bani.com.br>, 2006. +# , fuzzy +# +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter 0.8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2013-05-09 13:51+0000\n" +"Last-Translator: Eduardo <eduardo-strottmann@ig.com.br>\n" +"Language-Team: Portuguese/Brazil <gnome-l10n-br@listas.cipsga.org.br>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: \n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Conversor de som" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Conversor de formato de áudio" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "Converter arquivos de áudio para outros formatos" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "Conversão de áudio por meio do GNOME" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Página da Web" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "diálogo1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filtro " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Erro" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "O arquivo já existe" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "S_obrescrever" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Ignorar" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>O arquivo já existe</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Aplicar para toda lista" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "artista/álbum" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "artista - álbum" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "Muito baixa" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Baixa" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Normal" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Alta" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Muito alta" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Insanamente alta" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 bits (qualidade muito baixa)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 bits (padrão)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 bits" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "Menor (rápido)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "Padrão" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "Melhor (lento)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "Constante (CBR)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "Média (ABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "Variável (VBR) - Melhor qualidade" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC Sem perdas (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "MS Wave (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "Composição (.opus)" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "Perfil de áudio do GNOME" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "_número da faixa - _título da faixa" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "_título da faixa" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Preferências" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "Mesma pasta do arquivo de origem" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Escolha..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "Para dentro de uma pasta específica" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Criar subpastas: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Apagar o arquivo original" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Onde colocar os resultados?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Padrão para nome de arquivo: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Substituir todos os caracteres desordenados" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "Remover todos os caracteres exceto letras, dígitos e ./_-" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Exemplo de nome do arquivo:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Como nomear os arquivos?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Formato: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Qualidade:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Use a extensão .oga" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Modo da taxa de transferência de bits" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Compressão:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Largura da amostra:" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "Composição nº" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Perfil:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "perfil-gst" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Formato do arquivo resultante?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Refazer amostra" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Forçar saída mono" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "Limitar o número de tarefas paralelas" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "Codificador de MP3 não está presente." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Leia como instalar" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Onde colocar os resultados?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "ConversorDeSom" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Arquivo" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "_Editar" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "Aj_uda" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Adicionar arquivo(s)" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Adicionar _Pasta" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Converte em modo de lotes, a partir da linha de comando, sem interface\n" +"gráfica. Você pode usar isso, digamos, por meio de shell scripts." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" +"Mostrar tags para os arquivos de entrada ao invés de convertê-los. Isto " +"demonstra\n" +"a existência de uma linha de comando no modo em lote (batch) e\n" +"desativa a interface gráfica de usuário." + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" +"Definir a saída do tipo MIME para o modo de lote. O padrão é %s. Note que " +"você provavelmente vai querer o sufixo de saída também." + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Fique quieto. Não escreve saídas normais, somente erros." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "Mostrar informações adicionais de depuração" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" +"Definir sufixo de arquivo de saída para o modo lote. O padrão é %s. Note que " +"o sufixo afeta\n" +" e saída do tipo MIME." + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Forçar números de conversões simultâneas." + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "Mostrar opções do GStreamer" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Erro: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "Não foi possível criar a pasta!" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "Erro enquanto renomeava o arquivo!" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "Instalação de plugin abortada." + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Não foi pssível criar a pasta '%s'." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "Erro no GStreamer" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "Conversão concluída em %s" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "Álbum desconhecido" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "Artista desconhecido" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" +"Artista Álbum Título Faixa Total Gênero Data Ano Horário NúmeroDoDisco " +"DuraçãoTotalDoDisco" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "Todos os arquivos" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"Erro: %s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "Procurando arquivos..." + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "Adicionando arquivos..." + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Mesmo que o original, mas substituindo a extensão" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Mesmo que o original, mas com uma extensão adicional" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Número da faixa - título" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "Título da faixa" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Artista - título" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Personalizar o nome de arquivo padrão" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "artista-álbum" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "Padrões disponíveis:" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "Na pasta %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Meta da taxa de transferência de bits: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Abrir um arquivo" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Adicionar pasta..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "Preparando conversão..." + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Convertendo" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Cancelado" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Pausado" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d restante" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Pronto" diff --git a/po/ru.po b/po/ru.po new file mode 100644 index 0000000..48bf777 --- /dev/null +++ b/po/ru.po @@ -0,0 +1,541 @@ +# translation of ru.po to Russian +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Alexandre Prokoudine <alexandre.prokoudine@gmail.com>, 2006. +msgid "" +msgstr "" +"Project-Id-Version: ru\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2013-06-27 17:37+0000\n" +"Last-Translator: peregrine <andrej1741@yandex.ru>\n" +"Language-Team: Russian <gnome-cyr@gnome.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: ru\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Аудиоконвертер" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Конвертер форматов аудио" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "Конвертирует аудиофайлы в другие форматы" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "Конверсия аудио в GNOME" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Веб-сайт" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "dialog1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Фильтр " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Ошибка" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Файл с таким именем уже существует" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Заменить" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "Пр_опустить" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Файл с таким именем уже существует</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Применить ко всей очереди" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "исполнитель/альбом" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "исполнитель - альбом" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "Очень низкое" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Низкое" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Нормальное" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Высокое" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Очень высокое" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Безумно высокое" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 бит (очень низкое качество)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 бит (по умолчанию)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 бита" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "Меньше (быстрее)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "По умолчанию" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "Лучше (медленнее)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "Постоянный (CBR)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "Усреднённый (ABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "Переменный (VBR) - лучшее качество" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC, без потерь (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "WAV (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "Opus (.opus)" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "Профиль аудио GNOME" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "номер_трека - название_трека" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "название_трека" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Параметры" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "Такая же директория как и входящий файл" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Выбрать..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "В указанную папку" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Создать вложенные папки: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Удалить исходный файл" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Куда поместить результат?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Шаблон имени файла: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Заменить все некорректные символы" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "Удалить все символы, кроме букв, цифр и ./_-" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Пример имени файла:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Как назвать файлы?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Формат: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Качество:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Использовать расширение .oga" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Тип битрейта:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Сжатие:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Разрядность семпла:" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "Opus" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Профиль:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "gst-profile" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Формат конечных файлов</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Изменение частоты" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Принудительный вывод моно" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "Ограничить количество параллельных процессов" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "MP3-кодек не найден." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Прочтите, как устанавливать" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Куда поместить результаты?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "SoundConverter" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Файл" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "_Правка" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_Справка" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Добавить файл" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Добавить _папку" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Преобразовывать в пакетном режиме, из командной строки,\n" +"без графического пользовательского интерфейса.\n" +"Этим можно пользоваться, скажем, в сценариях." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" +"Показывать теги входных файлов вместо их конвертации. Это включает \n" +" пакетный режим командной строки и отключает графический интерфейс." + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" +"Установить выходной MIME-тип для пакетного режима. По умолчанию %s. " +"Заметьте, что вы, возможно, хотите также установить суффикс вывода." + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Вести себя тихо. Сообщать только об ошибках." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "Отображает дополнительную отладочную информацию" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" +"Установить суффикс вывода для пакетного режима. По умолчанию %s. Заметьте, " +"что суффикс не влияет\n" +" на MIME-тип вывода." + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Количество одновременных конвертирований." + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "Показывает параметры GStreamer" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Ошибка: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "Невозможно создать каталог!" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "Ошибка при переименовании файла!" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "Установка надстройки прервана." + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Невозможно создать папку '%s'." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "Ошибка GStreamer:" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "Конвертация завершена за %s" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "Неизвестный альбом" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "Неизвестный исполнитель" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "Все файлы" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"Ошибка: %s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "Сканирование файлов..." + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "Добавление файлов..." + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Как во входном файле, но заменяя окончание" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Как во входном файле, но с дополнительным окончанием" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Номер трека - название" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "Название трека" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Исполнитель - название" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Собственный шаблон имени файла" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "исполнитель-альбом" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "Имеющиеся шаблоны:" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "В папку %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Выходной битрейт: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Открыть файл" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Добавить папку..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "Подготовка к конвертации..." + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Конвертирование" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Отменено" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Приостановлено" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "Осталось %d:%02d" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Готово" diff --git a/po/sk.po b/po/sk.po new file mode 100644 index 0000000..c80c854 --- /dev/null +++ b/po/sk.po @@ -0,0 +1,530 @@ +# Slovak translation for soundconverter +# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-01-13 03:56+0000\n" +"Last-Translator: Pavol Klačanský <pavol@klacansky.com>\n" +"Language-Team: Slovak <sk@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: sk\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Zvukový konvertor" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Prevod formátov zvuku" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "dialóg1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filter " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Chyba" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Súbor už existuje" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Prepísať" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Preskočiť" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Súbor už existuje</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Použiť na celú frontu" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "umelec/album" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "umelec - album" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Predvoľby" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Vybrať..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "Do určeného priečinka" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Vytvoriť podpriečinky: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Vymazať pôvodný súbor" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Kam sa majú umiestniť výsledky?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Vzor názvu súboru: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Odstrániť všetky problémové znaky" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Príklad názvu súboru:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Aký názov majú mať súbory?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Formát: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Kvalita:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Použiť príponu .oga" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Mód bitového toku:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Kompresia:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Šírka vzorky:" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Typ výsledku?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Prevzorkovať" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Vynútiť mono výstup" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "MP3 kódovač nie je prítomný." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Čítať ako nainštalovať" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Kam umiestniť výsledky?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "Prevod zvuku" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Súbor" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "_Upraviť" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_Pomocník" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Pridať súbor" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Pridať _priečinok" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Previesť v dávkovom režime z príkazového riadku bez grafického rozhrania.\n" +" Môžte použiť tento spôsob, povedzme, v shellových skriptoch." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Nevypisovať zvyčajný výstup, len chyby." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Chyba: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Nemôžem vytvoriť priečinok '%s'." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "" + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Rovnako ako vstupné, ale nahradí príponu" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Rovnako ako vstupné, ale s pridanou príponou" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Číslo stopy - názov" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Umelec - názov" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Vlastný názov súboru" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "umelec-album" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "Do priečinka %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Cieľový bitový tok: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Pridať priečinok..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Konvertujem" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Zrušené" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Pozastavené" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "zostáva %d:%02d" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Pripravený" diff --git a/po/sl.po b/po/sl.po new file mode 100644 index 0000000..a5d7678 --- /dev/null +++ b/po/sl.po @@ -0,0 +1,535 @@ +# Slovenian translations for soundconverter. +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the soundconverter package. +# +# Andrej Žnidaršič <andrej.znidarsic@ubuntu.com>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter master\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-01-13 03:41+0000\n" +"Last-Translator: Andrej Znidarsic <andrej.znidarsic@gmail.com>\n" +"Language-Team: Slovenian GNOME translation group <gnome-" +"si@googlegroups.com>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"X-Poedit-Country: SLOVENIA\n" +"Language: \n" +"X-Poedit-Language: Slovenian\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Pretvornik zvoka" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Pretvornik zapisov zvoka" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "pogovorno okno 1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filter " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Napaka" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Datoteka že obstaja" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Prepiši" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "Pre_skoči" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Datoteka že obstaja</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Uveljavi za celotno čakalno vrsto predvajanja" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "izvajalec/album" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "izvajalec - album" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Možnosti" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Izberite ..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "V navedeno mapo" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Ustvari podmape: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Izbriši izvirno datoteko" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Kje naj bodo ustvarjeni rezultati?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Vzorec imena datoteke: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Zamenjaj vse neustrezne znake" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Primer imena datoteke:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Kako naj bodo datoteke poimenovane?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Vrsta: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Kakovost:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Uporabi .oga pripono" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Način bitne hitrosti:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Stiskanje" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Vzorčna širina" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Kakšna naj bo vrsta rezultata?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Prevzorči" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Prisili izhod mono" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "Kodirnik MP3 ni prisoten." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Preberite kako namestiti" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Kje naj bodo ustvarjeni rezultati?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "Pretvornik zvoka" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Datoteka" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "Ur_edi" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_Pomoč" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Dodaj datoteko" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Dodaj _mapo" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Pretvori v paketnemu načinu iz ukazne vrstice brez grafičnega uporabniškega\n" +" vmesnika. Možnost je mogoče uporabiti s skripti lupine." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "V tišini. Ne izpiše običajnega izhoda, ampak le napake." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Prisili število hkratnih pogovorov." + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Napaka: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Ni mogoče ustvariti mape '%s'" + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "" + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Enako kot vhodna, toda zamenja pripono" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Enako kot vhodna, toda z dodatno pripono" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Številka skladbe - naslov" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "Naslov skladbe" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Izvajalec - naslov" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Vzorec imen datotek po meri" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "izvajalec - album" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "V mapo %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Ciljna bitna hitrost: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Odpri datoteko" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Dodaj mapo ..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Pretvarjanje" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Preklicano" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "V premoru" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d preostalo" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Pripravljeno" diff --git a/po/sr.po b/po/sr.po new file mode 100644 index 0000000..e66687f --- /dev/null +++ b/po/sr.po @@ -0,0 +1,543 @@ +# Serbian translation of Soundconverter. +# Courtesy of Prevod.org team (http://prevod.org/) -- 2007. +# This file is distributed under the same license as the Soundconverter package. +# Miloš Popović <gpopac@gmail.com>, 2007. +# Мирослав Николић <miroslavnikolic@rocketmail.com>, 01.01.2011, 2012. +msgid "" +msgstr "" +"Project-Id-Version: Prekoder zvuka\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2013-06-09 07:43+0000\n" +"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n" +"Language-Team: Serbian <gnom@prevod.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: sr\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Претварач звука" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Претварач формата звука" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "Претварајте звучне датотеке у друге формате" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "Гномово претварање звука" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Веб страница" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "дијалог1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Филтер " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Грешка" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Датотека већ постоји" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "Пре_пиши" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "Пре_скочи" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Датотека већ постоји</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "Примени на _све датотеке" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "извођач/албум" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "извођач — албум" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "Врло низак" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Низак" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Нормалан" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Висок" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Врло висок" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Нездраво висок" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 бита (врло лош квалитет)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 бита (основно)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 бита" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "Мање (брже)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "Основно" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "Боље (спорије)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "Стално (ЦБР)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "Просечно (АБР)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "Променљиво (ВБР) — Најбољи квалитет" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Огг Ворбис (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "МП3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "ФЛАЦ без губитака (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "МС звук (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "ААЦ (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "Опус (.opus)" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "Гномов профил звука" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "број_нумере — наслов_нумере" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "наслов_нумере" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Поставке" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "Иста фасцикла као улазна датотека" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Изабери..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "У одређену фасциклу" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Направи подфасцикле: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Уклони оригиналне датотеке" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Где ће бити смештени резултати?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Шаблон назива датотеке: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Замени све лоше знаке" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "Уклони све знаке осим слова, цифара и ./_-" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Пример назива датотеке:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Како ће бити именоване датотеке?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Формат: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Квалитет:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Користи „.oga“ проширење" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Огг" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Битски проток:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "МП3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Сажимање:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "ФЛАЦ" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Величина узорка:" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "ВАВ" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "ААЦ" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "Опус" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Профил:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "гст-профил" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Која ће бити врста резултата?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Поново узоркуј" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Присили моно излаз" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "Ограничи број истовремених послова" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "МП3 енкодер није присутан." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Прочитајте како да га инсталирате" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Где да сместим резултате?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "Претварач звука" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Датотека" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "_Уређивање" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_Помоћ" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "Додај _датотеку" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Додај _фасциклу" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Претвара у групном режиму, из линије наредби, без графичког корисничког " +"окружења.\n" +" Ово можете да користите, рецимо, из скрипти шкољке." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" +"Приказује ознаке улазних датотека уместо да их претвара. Ово показује \n" +" групни режим линије наредби и искључује графичко сучеље корисника." + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" +"Поставља излазну МИМЕ врсту за групни режим. Основно је %s. Знајте да ћете " +"највероватније желети да поставите излазни суфикс у сваком случају." + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Ради тихо. Не исписује нормалне резултате, само грешке." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "Приказује додатне податке за уклањање грешака" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" +"Поставља суфикс назива излазне датотеке за групни режим. Основно је %s. " +"Знајте да суфикс не утиче на\n" +" излазну МИМЕ врсту." + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Присиљава број конкурентних претварања." + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "Приказује опције Гстримера" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Грешка: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "Не могу да направим фасциклу!" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "Грешка приликом преименовања датотеке!" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "Инсталирање прикључка прекинуто" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Не могу да направим „%s“ фасциклу." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "Грешка Гстримера:" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "Претварање је обављено за %s" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "Непознат албум" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "Непознат извођач" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" +"Извођач Албум Наслов Нумера Укупно Жанр Датум Година ВременскаОзнака " +"БројДиска УкупноДиска Спољно" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "Све датотеке" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"Грешка: %s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "Претражујем датотеке..." + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "Додајем датотеке..." + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Исто као улазна, али замени суфикс" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Исто као улазна, али са додатним суфиксом" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Број нумере — наслов" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "Наслов нумере" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Извођач — наслов" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Произвољни шаблон назива датотеке" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "извођач-албум" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "Доступни шаблони:" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "У фасциклу %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Ciljni protok: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Отвори датотеку" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Додај фасциклу..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "Припремам претварање..." + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Претварам" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Отказано" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Заустављено" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "преостало време: %d:%02d" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Спреман" diff --git a/po/sr@Latn.po b/po/sr@Latn.po new file mode 100644 index 0000000..d19bbf6 --- /dev/null +++ b/po/sr@Latn.po @@ -0,0 +1,528 @@ +# Serbian translation of Soundconverter. +# Courtesy of Prevod.org team (http://prevod.org/) -- 2007. +# +# This file is distributed under the same license as the Soundconverter package. +# +# Miloš Popović <gpopac@gmail.com>, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: Prekoder zvuka\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-02-22 21:51+0000\n" +"Last-Translator: GautierPortet <kassoulet@gmail.com>\n" +"Language-Team: Serbian (sr) <gnom@prevod.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: \n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Prekoder zvuka" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Prekodiranje zvučnih formata" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "dijalog1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filter " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Greška" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Datoteka već postoji" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "P_repiši" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "Pr_eskoči" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Datoteka već postoji</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Primeni na ceo unos" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "izvođač/album" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "izvođač — album" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Postavke" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Izaberi..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "U izabranu fasciklu" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Napravi pod-direktorijume: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Ukloni originalne datoteke" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Gde da smestim izlaz?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Šablon imena: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Zameni sve loše karaktere" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Primer imena datoteke:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Kako da krstim datoteke?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Format " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Kvalitet:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Bitski protok:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Tip izlaza?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "MP3 koder nije dostupan." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Pročitaj kako da instaliram" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Gde sa smestim izlaz?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "Prekodiranje Zvuka" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Dodaj datoteku" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Dodaj _fasciklu" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Prekodiraj u konzolnom modu, iz komandne linije, bez grafičkog okruženja\n" +" Možete na primer koristiti ova mod za pisanje skripta." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Radi tiho. Ne ispisuj normalni izlaz već samo greške." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "" + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "" + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "" + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "" diff --git a/po/sr@latin.po b/po/sr@latin.po new file mode 100644 index 0000000..50cf2d6 --- /dev/null +++ b/po/sr@latin.po @@ -0,0 +1,532 @@ +# Serbian translation of Soundconverter. +# Courtesy of Prevod.org team (http://prevod.org/) -- 2007. +# +# This file is distributed under the same license as the Soundconverter package. +# +# Miloš Popović <gpopac@gmail.com>, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-04-20 09:37+0000\n" +"Last-Translator: MD <Unknown>\n" +"Language-Team: Serbian (sr) <gnom@prevod.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: \n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Prekoder zvuka" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Prekodiranje zvučnih formata" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "Konvertuje audio fajlove u druge formate" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Web sajt" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "dijalog1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filter " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Greška" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Datoteka već postoji" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "P_repiši" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "Pr_eskoči" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Datoteka već postoji</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Primeni na ceo unos" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "izvođač/album" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "izvođač — album" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "Vrlo nisko" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Nisko" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Normalno" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Visoko" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Vrlo visoko" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Nenormalno visoko" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 bita (veoma loš kvalitet)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 bita (uobičajeno)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 bita" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "Manje (Brže)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "Podrazumevano" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "Bolje (Sporije)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "Konstantno (CBR)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "Usrednjeno (ABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "Promenjivo (VBR) - najbolji kvalitet" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC Lossless (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "MS Wave (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "Gnome audio profil" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "broj_pesme-naziv_pesme" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "naziv_pesme" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Postavke" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Izaberi..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "U izabranu fasciklu" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Napravi poddirektorijume: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Ukloni originalne datoteke" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Gde da smestim izlaz?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Šablon za naziv datoteke: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Zameni sve loše karaktere" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "Ukloni sve karaktere osim slova, cifri i ./_-" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Primer imena datoteke:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Kako da krstim datoteke?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Format " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Kvalitet:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Koristi .oga ekstenziju" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Bitski protok:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Kompresija:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Profil:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Vrsta izlaza?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "MP3 koder nije dostupan." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Pročitaj kako da instaliram" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Gde sa smestim izlaz?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "Prekodiranje Zvuka" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Datoteka" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "_Uredi" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_Pomoć" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Dodaj datoteku" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Dodaj _fasciklu" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Prekodira u konzolnom režimu, iz komandne linije, bez grafičkog okruženja\n" +" Možete na primer koristiti ovaj mod za pisanje skripti." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Radi tiho. Ne ispisuje normalni izlaz već samo greške." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Greška: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Ne mogu da napravim fasciklu „%s“." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "Nepoznat album" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "Nepoznat izvođač" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "Svi fajlovi" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "Dodavanje fajlova..." + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Isto kao i na ulazu, ali zameni sufiks" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Isto kao i na ulazu, ali sa dodatnim sifuksom" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Broj numere — naslov" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "Naziv pesme" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Izvođač — naslov" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Proizvoljan šablon imena datoteke" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "izvođač-album" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "Dostupni šabloni:" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "U fasciklu %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Izlazni bitski protok: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Otvori fajl" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Dodaj fasciklu..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "Priprema konvetovanja..." + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Prekodiram" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Prekinuto" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Pauzirano" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d preostalo" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Spreman" diff --git a/po/sv.po b/po/sv.po new file mode 100644 index 0000000..4e0b62f --- /dev/null +++ b/po/sv.po @@ -0,0 +1,534 @@ +# Swedish translation of soundconverter. +# Copyright (C) 2006 THE soundconverter'S COPYRIGHT HOLDER +# This file is distributed under the same license as the soundconverter package. +# Daniel Nylander <po@danielnylander.se>, 2006, 2008. +# +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2013-07-28 12:12+0000\n" +"Last-Translator: Joachim Johansson <Unknown>\n" +"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: sv\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Ljudkonverterare" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Ljudformatskonverterare" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "Konverterar ljudfiler till andra format" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "GNOME-driven Ljudkonverterare" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Webbplats" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "dialog1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filter " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Fel" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Filen finns redan" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Skriv över" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Hoppa över" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Filen finns redan</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Verkställ för hela kön" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "artist/album" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "artist - album" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "Mycket låg" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Låg" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Normal" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Hög" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Mycket hög" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Vansinnigt hög" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 bitar (mycket låg kvalitet)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 bitar (förvalt värde)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 bitar" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "Mindre (snabbare)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "Standard" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "Bättre (långsammare)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "Konstant (CBR)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "Medel (ABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "Variabel (VBR) - bäst kvalitet" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC Lossless (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "MS Wave (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "Opus (.opus)" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "GNOME Audio Profile" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "track_number - track_title" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "track_title" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Inställningar" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "Samma mapp som indatafilen" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Välj..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "I en angiven mapp" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Skapa undermappar: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Ta bort originalfilen" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Var ska resultaten placeras?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Filnamnsmönster: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Ersätt felaktiga tecken" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Exempel filnamn:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Hur ska filer namnges?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Format: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Kvalitet:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Använd .oga-filändelse" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Bithastighetsläge:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Komprimering:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Samplingsbredd:" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "Opus" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Profil:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "gst-profil" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Typ av resultat?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Sampla om" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Tvinga mono-output" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "Begränsa antalet parallella jobb" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "MP3-kodare finns inte installerad." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Läs hur man installerar" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Var ska resultaten placeras?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "Ljudkonverterare" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Arkiv" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "R_edigera" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_Hjälp" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Lägg till fil" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Lägg till _mapp" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Konvertera i satsläge, från kommandorad, utan ett grafiskt gränssnitt.\n" +" Du kan använda detta, till exempel från skalskript." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Var tyst. Skriv endast ut fel." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "Visar ytterligare felsökningsinformation" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Tvinga antalet samtidiga konverteringar." + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "Visar alternativ för GStreamer" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Fel: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Kan inte skapa mappen \"%s\"." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "GStreamer-fel:" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "Okänt album" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "Okänd artist" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "Alla filer" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"Fel: %s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "Söker efter filer..." + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "Lägger till filer..." + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Samma som inmatning, men ersätter filändelsen" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Samma som inmatning, men med en filändelse till" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Spårnummer - titel" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Artist - titel" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Anpassat filnamnsmönster" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "artist-album" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "Tillgängliga mönster:" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "I mappen %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Målets bitfrekvens: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Öppna en fil" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Lägg till mapp..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Konverterar" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Avbruten" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Pausad" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d kvar" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Redo" diff --git a/po/te.po b/po/te.po new file mode 100644 index 0000000..7f9c17c --- /dev/null +++ b/po/te.po @@ -0,0 +1,528 @@ +# Telugu translation for soundconverter +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-05-06 21:27+0000\n" +"Last-Translator: Praveen Illa <mail2ipn@gmail.com>\n" +"Language-Team: Telugu <te@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: te\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "శబ్ద పరివర్తకం" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "ఆడియో ఆకృతి పరివర్తకం" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "జాలస్థలి" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "" + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "దోషం" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "చెరిపివ్రాయి (_O)" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "దాటవేయి (_S)" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>ఈ ఫైల్ ముందే ఉంది</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "సాధారణం" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "అభిరుచులు" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "ఎంపిక చేయండి..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "" + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>ఈ ఫలితాలను ఎకాడ పెటాలి ?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "" + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>ఫైల్ నమకరనముకు ఉదాహరణ:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "రకము : " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "నాణ్యత:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "ఎం పి ౩" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "ఎఫ్ఎల్ఏసి" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "ఎం పి ౩ మార్చేది కనపడుట లేదు" + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "" + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"దోషము: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "" + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "" + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "" + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "మార్చివేయడం జరుగుతుంది" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "రద్దుచేయబడినది" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "నిలుపబడింది" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d మిగిలింది" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "సిద్దము" diff --git a/po/tr.po b/po/tr.po new file mode 100644 index 0000000..d9d6d2d --- /dev/null +++ b/po/tr.po @@ -0,0 +1,532 @@ +# Turkish translation for soundconverter +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2008. +# Mehmet Altan Pire <baybesteci@gmail.com>, 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-01-13 03:41+0000\n" +"Last-Translator: GautierPortet <kassoulet@gmail.com>\n" +"Language-Team: Turkish <Free (Not in Team)>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: tr\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Ses Dönüştürücüsü" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Ses Biçimi Dönüştürücüsü" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "iletişim1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Filtre " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Hata" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Dosya zaten var" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Üzerine yaz" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Atla" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Dosya zaten var</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "Tüm kuyruğa uygul_a" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "sanatçı/albüm" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "sanatçı - albüm" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Tercihler" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Seçiniz..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "Belirtilmiş bir dosyaya" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Alt klasörleri oluştur: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Özgün dosyayı sil" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Sonuçlar nereye yerleştirilecek?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Dosya adı kalıbı: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Tüm garip karakterleri kaldır" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Örnek dosya adı:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Dosyalar nasıl adlandırılacak?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Biçim: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Kalite:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr ".oga uzantısını kullan" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Bir oran kipi:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Sıkıştırma:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Örnek genişliği:" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Sonuç türü?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Tekrar örnekle" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Tekli (mono) çıkışa zorla" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "MP3 şifreleyici belirtilmedi" + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Nasıl kurulacağını okuyun" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Sonuçlar nereye yerleştirilsin?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "SesDönüştürücü" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "_Dosya" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "_Düzenle" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "_Yardım" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "Dosya _Ekle" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Klasör _Ekle" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Sıralı dönüştürme kipi, komut satırından, grafiksel kullanıcı arabirimi " +"olmaksızın.\n" +" Bunu, söyleyin, kabuk komutlarından kullanabilirsiniz." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Sessiz ol. Normal çıktıyı yazma, sadece hataları yaz." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Eşzamanlı dönüştürmelerin sayısını zorla." + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Hata: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "'%s' klasörü yaratılamadı." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "" + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Girdi ile aynı fakat son eki değiştir" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Girdi ile aynı fakat fazladan bir son ek" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Parça numarası - başlık" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Sanatçı - başlık" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Özel dosya adı kalıbı" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "sanatçı-albüm" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Hedef bit oranı: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Dizin Ekle..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Çevriliyor" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "İptal Edildi" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Duraklatıldı" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d kaldı" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Hazır" diff --git a/po/uk.po b/po/uk.po new file mode 100644 index 0000000..28a37ec --- /dev/null +++ b/po/uk.po @@ -0,0 +1,544 @@ +# Ukrainian translation for soundconverter +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2013-06-10 16:12+0000\n" +"Last-Translator: Stuartlittle1970@gmail.com <Stuartlittle1970@gmail.com>\n" +"Language-Team: Ukrainian <uk@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: uk\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Конвертер аудіо" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Конвертер аудіоформатів" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "Конвертує звукові файли в інші формати" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "Конвертація звуку в GNOME" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "Веб-сторінка" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "діалог1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Фільтр " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Помилка" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "Файл вже існує" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "Переписати" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "_Пропустити" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>Файл вже існує</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "_Застосувати до всієї черги" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "виконавець/альбом" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "виконавець - альбом" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "Дуже низька" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "Низька" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "Нормальна" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "Висока" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "Дуже висока" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "Дуже висока" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 біт (дуже низька якість)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 біт (звичайний)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 біт" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "Гірше (швидше)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "Типово" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "Краще (повільніше)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "Сталий (CBR)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "Середній (ABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "Змінний (VBR) - Найкраща якість" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC без втрат (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "MS Wave (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "Opus (.opus)" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "Аудіопрофіль GNOME" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "номер треку-назва треку" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "назва треку" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Параметри" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "Та сама тека для вихідного файлу" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Виберіть..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "До вказаної теки" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Створювати підтеки: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Вилучати оригінальний файл" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Куди зберігати результат?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Шаблон імені файлу: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Замінити усі неправильні символи" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "Вилучити всі знаки, крім букв, цифр та знаків ./_-" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Приклад назви файлу:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Як іменувати файли?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Формат: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Якість:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "Використовуйте розширення .oga" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Режим бітрейту:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "Стиснення:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "Ширина семплу" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "Opus" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "Профіль:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "gst-профіль" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Тип результату?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "Змінити частоту" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "Примусовий вивід моно" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "Обмежити кількість паралельних процесів" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "Кодек MP3 відсутній." + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Прочитати як встановити" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Куди зберігати результати?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "SoundConverter" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "Файл" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "Редагувати" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "Довідка" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "_Додати файл" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Додати _теку" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Конвертація в пакетному режимі, з командного рядку, \n" +" без графічного інтерфейсу. Ви це можете використовувати,\n" +" наприклад, у скриптах." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" +"Показувати теги вхідних файлів замість їх перетворення. Це вмикає\n" +"пакетний режим командного рядка й вимикає графічний інтерфейс." + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" +"Встановити вихідний MIME-тип для пакетного режиму. Типово %s. Зауважте, що " +"ви, можливо, бажаєте також встановити суфікс виводу." + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "" +"Бути тихим. Не показувати звичайний вивід програми, виводити тільки помилки." + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "Показати додаткову налагоджувальну інформацію" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" +"Встановити суфікс виводу для пакетного режиму. Типово %s. Зауважте, що " +"суфікс не впливає\n" +"на MIME-тип виводу." + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "Кількість одночасних перетворень" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "Показати параметри GStreamer" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Помилка: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "Неможливо створити теку!" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "Помилка при зміні назв файлів!" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "Встановлення втулки перервано." + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Не вдається створити теку '%s'." + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "Помилка GStreamer:" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "Перетворення закінчено за %s" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "Невідомий альбом" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "Невідомий виконавець" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" +"Виконавець Назва Альбому Трек Загалом Жанр Дата Рік Час Номер Диску " +" Всього Дисків" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "Усі файли" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"Помилка: %s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "Сканування файлів..." + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "Додавання файлів..." + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Такий самий, як і вхідний, але з заміною суфікса" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Такий самий, як і вхідний, але з додатковим суфіксом" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Номер треку - назва" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "Назва треку" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Виконавець - назва" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Спеціальний шаблон імен файлів" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "виконавець-альбом" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "Шаблони що є" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "До теки %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "Цільовий бітрейт: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "Відкрити файл" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Додати теку..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "Підготування до конвертації.." + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Конвертація" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Скасовано" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Призупинено" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d залишилось" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Готово" diff --git a/po/vi.po b/po/vi.po new file mode 100644 index 0000000..fc4e66a --- /dev/null +++ b/po/vi.po @@ -0,0 +1,530 @@ +# Vietnamese translation for soundconverter +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-01-13 03:56+0000\n" +"Last-Translator: huanctv <huanctv@gmail.com>\n" +"Language-Team: Vietnamese <vi@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: vi\n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "Bộ chuyển đổi âm thanh" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "Bộ chuyển định dạng Audio" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "Hộp thoại1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "Bộ lọc " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "Lỗi" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "File đã tồn tại" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "_Ghi đè" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "Bỏ _qua" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>File đã tồn tại</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "Áp _dụng cho toàn bộ hàng đợi" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "nghệ sĩ/album" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "nghệ sĩ - album" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "Cài đặt" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "Chọn..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "Trong một thư mục xác định" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "Tạo thư mục con: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "Xóa file gốc" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>Nơi lưu kết quả ra?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "Tên file mẫu: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "Thay thế toàn bộ các kí tự lộn xộn" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>Tên file mẫu:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>Cách đặt tên file?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "Định dạng: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "Chất lượng:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "Chế độ bitrate:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>Định dạng kết quả ra?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "Không tìm thấy bộ hóa MP3" + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "Đọc cách cài đặt" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "Vị trí lưu kết quả ra?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "SoundConverter" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "T_hêm File" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "Thêm _thư mục" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"Thực hiện chuyển trong chế độ batch, từ dòng lệnh mà không có đồ họa.\n" +"Bạn có thể thực hiện kiểu này bằng cách dùng shell scripts." + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "Chỉ hiện ra những thông tin về lỗi" + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"Lỗi: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "Không thể tạo thư mục '%s'" + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "" + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "" + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "Giống đầu vào nhưng thay phần hậu tố" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "Giống đầu vào nhưng thêm phần hậu tố" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "Track số - tiêu đề" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "Nghệ sĩ - tiêu đề" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "Mẫu tên file tự do" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "nghệ sĩ-album" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "Vào trong thư mục %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "bitrate lối ra: %s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "Thêm thư mục..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "" + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "Đang chuyển" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "Đã hủy" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "Đã tạm dừng" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "%d:%02d trôi qua" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "Sẵn sàng" diff --git a/po/zh_CN.po b/po/zh_CN.po new file mode 100644 index 0000000..c54e4cc --- /dev/null +++ b/po/zh_CN.po @@ -0,0 +1,533 @@ +# Simplified Chinese translation for soundconverter +# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-12-22 08:16+0000\n" +"Last-Translator: Wang Dianjin <Unknown>\n" +"Language-Team: Simplified Chinese <zh_CN@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: \n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "音频转换器" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "音频格式转换程序" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "将音频文件转为其他格式" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "GNOME 驱动的声音转换工具" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "网站" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "对话框1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "过滤器 " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "错误!" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "文件已存在" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "覆盖(_O)" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "跳过(_S)" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>文件已存在</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "应用到整个队列(_A)" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "艺术家/专辑" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "艺人 - 专辑" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "很低" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "低" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "普通" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "高" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "很高" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "极高" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 bit(质量很低)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 位(默认)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 位" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "更低(稍快)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "默认" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "更好(稍慢)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "常数(CBR)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "一般(ABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "变量(VBR) - 最佳质量" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC 无损(.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "MS Wave (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "Opus (.opus)" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "GNOME 音频配置" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "音轨编号 - 音轨标题" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "音轨标题" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "首选项" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "选择..." + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "到指定文件夹" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "创建子文件夹: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "删除源文件" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "输出路径" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "文件名模式: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "替换乱码字符" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "移除字母, 数字和 ./_- 之外的全部字符" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>样例文件名:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>如何命名文件?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "格式: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "品质:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "使用 .oga 扩展" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "比特率模式" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "压缩:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "试样宽度:" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "Opus" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "配置:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "gst 配置" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "输出格式" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "重采样" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "单声道输出" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "限制并行任务数" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "未安装 MP3 编码器。" + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "阅读如何安装" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "结果存放位置?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "音频转换程序" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "文件(_F)" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "编辑(_E)" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "帮助 (_H)" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "添加文件(_A)" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "添加文件夹(_F)" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"使用没有图形用户界面的命令行进行批处理模式转换。\n" +" 你可以通过Shell脚本使用此功能。" + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "安静模式。仅输出错误。" + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "显示额外的调试信息" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "并发转换的数目。" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "显示 GStreamer 选项" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"错误: %s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "插件安装已中止。" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "无法创建文件夹:“%s”" + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "GStreamer 错误:" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "%s 转换完成" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "未知专辑" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "未知艺术家" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "全部文件" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"错误:%s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "正在扫描文件..." + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "正在添加文件..." + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "与输入文件相同,但替换前缀" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "与输入文件相同,但添加后缀" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "音轨号 - 标题" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "音轨标题" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "艺人 - 标题" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "自定义文件名模式" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "艺术家-专辑" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "可用模式:" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "到文件夹 %s" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "目标比特率:%s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "打开文件" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "添加文件夹..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "正在准备转换..." + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "转换中" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "已取消" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "已暂停" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "剩余 %d:%02d" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "就绪" diff --git a/po/zh_TW.po b/po/zh_TW.po new file mode 100644 index 0000000..0b9c8a6 --- /dev/null +++ b/po/zh_TW.po @@ -0,0 +1,539 @@ +# Chinese (Traditional) translation for soundconverter +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the soundconverter package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: soundconverter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-04 01:03+0000\n" +"PO-Revision-Date: 2012-05-18 13:39+0000\n" +"Last-Translator: Pin-hsien Li <pspeter9931@gmail.com>\n" +"Language-Team: Chinese (Traditional) <zh_TW@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-11-04 13:04+0000\n" +"X-Generator: Launchpad (build 16820)\n" +"Language: \n" + +#: ../data/soundconverter.desktop.in.in.h:1 +msgid "Sound Converter" +msgstr "音效轉檔器" + +#: ../data/soundconverter.desktop.in.in.h:2 +msgid "Audio Format Converter" +msgstr "音訊格式轉換工具" + +#: ../data/soundconverter.desktop.in.in.h:3 +msgid "Converts audio files into other formats" +msgstr "將音效檔轉換至不同格式" + +#: ../data/soundconverter.glade.h:1 +msgid "GNOME-powered Sound Conversion" +msgstr "以 GNOME 為基礎的音樂轉換工具" + +#: ../data/soundconverter.glade.h:2 +msgid "Website" +msgstr "網站" + +#: ../data/soundconverter.glade.h:3 +msgid "dialog1" +msgstr "dialog1" + +#: ../data/soundconverter.glade.h:4 +msgid "Filter " +msgstr "過濾器 " + +#. TODO: is this used ? +#. TODO: add proper error management when an encoder cannot be created +#: ../data/soundconverter.glade.h:5 ../soundconverter/gstreamer.py:548 +msgid "Error" +msgstr "錯誤" + +#: ../data/soundconverter.glade.h:6 +msgid "File exists already" +msgstr "檔案已經存在" + +#: ../data/soundconverter.glade.h:7 +msgid "_Overwrite" +msgstr "覆寫(_O)" + +#: ../data/soundconverter.glade.h:8 +msgid "_Skip" +msgstr "略過(_S)" + +#: ../data/soundconverter.glade.h:9 +msgid "<big><b>File exists already</b></big>\n" +msgstr "<big><b>檔案已經存在</b></big>\n" + +#: ../data/soundconverter.glade.h:11 +msgid "_Apply to entire queue" +msgstr "套用到所有佇列的檔案(_A)" + +#: ../data/soundconverter.glade.h:12 ../soundconverter/ui.py:386 +msgid "artist/album" +msgstr "歌手/專輯" + +#: ../data/soundconverter.glade.h:13 ../soundconverter/ui.py:388 +msgid "artist - album" +msgstr "歌手 - 專輯" + +#: ../data/soundconverter.glade.h:14 +msgid "Very Low" +msgstr "非常低" + +#: ../data/soundconverter.glade.h:15 +msgid "Low" +msgstr "低" + +#: ../data/soundconverter.glade.h:16 +msgid "Normal" +msgstr "正常" + +#: ../data/soundconverter.glade.h:17 +msgid "High" +msgstr "高" + +#: ../data/soundconverter.glade.h:18 +msgid "Very High" +msgstr "非常高" + +#: ../data/soundconverter.glade.h:19 +msgid "Insanely High" +msgstr "超級高" + +#: ../data/soundconverter.glade.h:20 +msgid "8 bits (very low quality)" +msgstr "8 位元 (超低品質)" + +#: ../data/soundconverter.glade.h:21 +msgid "16 bits (default)" +msgstr "16 位元 (預設值)" + +#: ../data/soundconverter.glade.h:22 +msgid "32 bits" +msgstr "32 位元" + +#: ../data/soundconverter.glade.h:23 +msgid "Less (Faster)" +msgstr "較差 (較快)" + +#: ../data/soundconverter.glade.h:24 +msgid "Default" +msgstr "預設值" + +#: ../data/soundconverter.glade.h:25 +msgid "Better (Slower)" +msgstr "較好 (較慢)" + +#: ../data/soundconverter.glade.h:26 +msgid "Constant (CBR)" +msgstr "固定 (CBR)" + +#: ../data/soundconverter.glade.h:27 +msgid "Average (ABR)" +msgstr "平均 (ABR)" + +#: ../data/soundconverter.glade.h:28 +msgid "Variable (VBR) - Best quality" +msgstr "動態 (VBR) - 最佳品質" + +#: ../data/soundconverter.glade.h:29 +msgid "Ogg Vorbis (.ogg)" +msgstr "Ogg Vorbis (.ogg)" + +#: ../data/soundconverter.glade.h:30 +msgid "MP3 (.mp3)" +msgstr "MP3 (.mp3)" + +#: ../data/soundconverter.glade.h:31 +msgid "FLAC Lossless (.flac)" +msgstr "FLAC 無損 (.flac)" + +#: ../data/soundconverter.glade.h:32 +msgid "MS Wave (.wav)" +msgstr "微軟音效檔 (.wav)" + +#: ../data/soundconverter.glade.h:33 +msgid "AAC (.m4a)" +msgstr "AAC (.m4a)" + +#: ../data/soundconverter.glade.h:34 +msgid "Opus (.opus)" +msgstr "" + +#: ../data/soundconverter.glade.h:35 +msgid "GNOME Audio Profile" +msgstr "GNOME 音訊設定檔" + +#: ../data/soundconverter.glade.h:36 +msgid "track_number - track_title" +msgstr "音軌編號 - 音軌標題" + +#: ../data/soundconverter.glade.h:37 +msgid "track_title" +msgstr "音軌_標題" + +#: ../data/soundconverter.glade.h:38 +msgid "Preferences" +msgstr "偏好設定" + +#: ../data/soundconverter.glade.h:39 +msgid "Same folder as the input file" +msgstr "" + +#: ../data/soundconverter.glade.h:40 +msgid "Choose..." +msgstr "選擇…" + +#: ../data/soundconverter.glade.h:41 +msgid "Into a specified folder" +msgstr "到指定資料夾" + +#: ../data/soundconverter.glade.h:42 +msgid "Create subfolders: " +msgstr "建立子資料夾: " + +#: ../data/soundconverter.glade.h:43 +msgid "Delete original file" +msgstr "刪除原始檔案" + +#: ../data/soundconverter.glade.h:44 +msgid "<b>Where to place results?</b>" +msgstr "<b>輸出結果要放置的地方?</b>" + +#: ../data/soundconverter.glade.h:45 +msgid "Filename pattern: " +msgstr "檔名樣式: " + +#: ../data/soundconverter.glade.h:46 +msgid "Replace all messy characters" +msgstr "替換所有亂碼字元" + +#: ../data/soundconverter.glade.h:47 +msgid "Remove all characters except letters, digits and ./_-" +msgstr "將字母、數字和 ./_- 以外的字元全部移除" + +#: ../data/soundconverter.glade.h:48 +msgid "<i>Example filename:</i>" +msgstr "<i>檔案名稱範例:</i>" + +#: ../data/soundconverter.glade.h:49 +msgid "<b>How to name files?</b>" +msgstr "<b>如何命名檔案?</b>" + +#: ../data/soundconverter.glade.h:50 +msgid "Format: " +msgstr "格式: " + +#: ../data/soundconverter.glade.h:51 +msgid "Quality:" +msgstr "品質:" + +#: ../data/soundconverter.glade.h:52 +msgid "Use .oga extension" +msgstr "使用 .oga 副檔名" + +#: ../data/soundconverter.glade.h:53 +msgid "Ogg" +msgstr "Ogg" + +#: ../data/soundconverter.glade.h:54 +msgid "Bitrate mode:" +msgstr "位元率模式:" + +#: ../data/soundconverter.glade.h:55 +msgid "MP3" +msgstr "MP3" + +#: ../data/soundconverter.glade.h:56 +msgid "Compression:" +msgstr "壓縮:" + +#: ../data/soundconverter.glade.h:57 +msgid "FLAC" +msgstr "FLAC" + +#: ../data/soundconverter.glade.h:58 +msgid "Sample width:" +msgstr "取樣寬度:" + +#: ../data/soundconverter.glade.h:59 +msgid "WAV" +msgstr "WAV" + +#: ../data/soundconverter.glade.h:60 +msgid "AAC" +msgstr "AAC" + +#: ../data/soundconverter.glade.h:61 +msgid "Opus" +msgstr "" + +#: ../data/soundconverter.glade.h:62 +msgid "Profile:" +msgstr "設定檔:" + +#: ../data/soundconverter.glade.h:63 +msgid "gst-profile" +msgstr "gst-profile" + +#: ../data/soundconverter.glade.h:64 +msgid "<b>Type of result?</b>" +msgstr "<b>輸出結果類型?</b>" + +#: ../data/soundconverter.glade.h:65 +msgid "Resample" +msgstr "重新取樣" + +#: ../data/soundconverter.glade.h:66 +msgid "Force mono output" +msgstr "強制單音輸出" + +#: ../data/soundconverter.glade.h:67 +msgid "Limit number of parallel jobs" +msgstr "限制同時進行工作的數量" + +#: ../data/soundconverter.glade.h:68 +msgid "MP3 Encoder is not present." +msgstr "沒有安裝 MP3 編碼器。" + +#: ../data/soundconverter.glade.h:69 +msgid "Read how to install" +msgstr "閱讀如何安裝" + +#: ../data/soundconverter.glade.h:70 +msgid "Where to place results?" +msgstr "輸出結果要放置的地方?" + +#: ../data/soundconverter.glade.h:71 +msgid "SoundConverter" +msgstr "聲音轉換器" + +#: ../data/soundconverter.glade.h:72 +msgid "_File" +msgstr "檔案(_F)" + +#: ../data/soundconverter.glade.h:73 +msgid "_Edit" +msgstr "編輯(_E)" + +#: ../data/soundconverter.glade.h:74 +msgid "_Help" +msgstr "說明(_H)" + +#: ../data/soundconverter.glade.h:75 +msgid "_Add File" +msgstr "加入檔案(_A)" + +#: ../data/soundconverter.glade.h:76 +msgid "Add _Folder" +msgstr "新增資料夾(_F)" + +#: ../bin/soundconverter.py:116 +msgid "" +"Convert in batch mode, from command line, without a graphical user\n" +" interface. You can use this from, say, shell scripts." +msgstr "" +"在指令列進行批次模式轉換,不使用圖形使用者\n" +" 介面。您可以透過如 Shell 腳本來使用此功能。" + +#: ../bin/soundconverter.py:121 +msgid "" +"Show tags for input files instead of converting them. This indicates \n" +" command line batch mode and disables the graphical user interface." +msgstr "" +"顯示輸入檔案的標籤,而非轉換它們。這代表會使用 \n" +" 指令列批次模式,並停用圖形使用者介面。" + +#: ../bin/soundconverter.py:125 +#, python-format +msgid "" +"Set the output MIME type for batch mode. The default is %s. Note that you " +"probably want to set the output suffix as well." +msgstr "設定批次模式的輸出 MIME 類型。預設值為 %s。您或許也想要設定輸出副檔名。" + +#: ../bin/soundconverter.py:129 +msgid "Be quiet. Don't write normal output, only errors." +msgstr "安靜模式。僅輸出錯誤訊息。" + +#: ../bin/soundconverter.py:131 +msgid "Displays additional debug information" +msgstr "顯示額外的除錯資訊" + +#: ../bin/soundconverter.py:133 +#, python-format +msgid "" +"Set the output filename suffix for batch mode.The default is %s . Note that " +"the suffix does not affect\n" +" the output MIME type." +msgstr "" +"設定批次模式的輸出副檔名。預設值為 %s。注意,副檔名並不會影響\n" +" 輸出的 MIME 類型。" + +#: ../bin/soundconverter.py:137 +msgid "Force number of concurrent conversions." +msgstr "強制設定同時間進行的轉換工作的數目。" + +#: ../bin/soundconverter.py:139 +msgid "Shows GStreamer Options" +msgstr "顯示 GStreamer 選項" + +#: ../soundconverter/error.py:30 +#, python-format +msgid "" +"\n" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"\n" +"錯誤:%s\n" +"%s\n" + +#: ../soundconverter/fileoperations.py:112 +msgid "Cannot create folder!" +msgstr "" + +#. TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. +#. or an option to stop all processing. +#: ../soundconverter/fileoperations.py:124 +msgid "Error while renaming file!" +msgstr "" + +#: ../soundconverter/gstreamer.py:211 +msgid "Plugin installation aborted." +msgstr "插件安裝已停止。" + +#: ../soundconverter/gstreamer.py:559 +#, python-format +msgid "Cannot create '%s' folder." +msgstr "無法建立資料夾「%s」。" + +#. pass +#: ../soundconverter/gstreamer.py:600 +msgid "GStreamer Error:" +msgstr "GStreamer 錯誤:" + +#: ../soundconverter/gstreamer.py:807 +#, python-format +msgid "Conversion done in %s" +msgstr "轉換完成於 %s" + +#: ../soundconverter/namegenerator.py:76 +msgid "Unknown Album" +msgstr "未知專輯" + +#: ../soundconverter/namegenerator.py:77 +msgid "Unknown Artist" +msgstr "未知歌手" + +#. traductors: These are the custom filename patterns. Only if it makes sense. +#: ../soundconverter/settings.py:47 +msgid "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" +msgstr "" +"Artist Album Title Track Total Genre Date Year Timestamp DiscNumber " +"DiscTotal Ext" + +#: ../soundconverter/settings.py:84 +msgid "All files" +msgstr "所有檔案" + +#: ../soundconverter/ui.py:87 ../soundconverter/ui.py:102 +#, python-format +msgid "" +"\n" +"Error: %s\n" +"%s\n" +msgstr "" +"\n" +"錯誤:%s\n" +"%s\n" + +#: ../soundconverter/ui.py:194 +msgid "Scanning files..." +msgstr "正在掃描檔案..." + +#: ../soundconverter/ui.py:308 +msgid "Adding files..." +msgstr "正在加入檔案..." + +#: ../soundconverter/ui.py:376 +msgid "Same as input, but replacing the suffix" +msgstr "和輸入一樣,但替換副檔名" + +#: ../soundconverter/ui.py:378 +msgid "Same as input, but with an additional suffix" +msgstr "和輸入一樣,但加上其他副檔名" + +#: ../soundconverter/ui.py:379 +msgid "Track number - title" +msgstr "音軌編號 - 標題" + +#: ../soundconverter/ui.py:380 +msgid "Track title" +msgstr "音軌 標題" + +#: ../soundconverter/ui.py:381 +msgid "Artist - title" +msgstr "歌手 - 標題" + +#: ../soundconverter/ui.py:382 +msgid "Custom filename pattern" +msgstr "自定檔名樣式" + +#: ../soundconverter/ui.py:387 +msgid "artist-album" +msgstr "歌手-專輯" + +#: ../soundconverter/ui.py:445 +msgid "Available patterns:" +msgstr "可用樣式:" + +#: ../soundconverter/ui.py:642 +#, python-format +msgid "Into folder %s" +msgstr "於資料夾 %s 內" + +#: ../soundconverter/ui.py:722 +#, python-format +msgid "Target bitrate: %s" +msgstr "目標位元率:%s" + +#: ../soundconverter/ui.py:1073 +msgid "Open a file" +msgstr "開啟檔案" + +#: ../soundconverter/ui.py:1167 +msgid "Add Folder..." +msgstr "新增資料夾..." + +#: ../soundconverter/ui.py:1335 +msgid "Preparing conversion..." +msgstr "正在準備轉換..." + +#: ../soundconverter/ui.py:1356 +msgid "Converting" +msgstr "轉換中" + +#: ../soundconverter/ui.py:1374 +msgid "Canceled" +msgstr "已取消" + +#: ../soundconverter/ui.py:1447 +msgid "Paused" +msgstr "已暫停" + +#: ../soundconverter/ui.py:1465 +#, python-format +msgid "%d:%02d left" +msgstr "剩餘時間 %d:%02d" + +#: ../soundconverter/ui.py:1471 +msgid "Ready" +msgstr "就緒" diff --git a/py-compile b/py-compile new file mode 100755 index 0000000..46ea866 --- /dev/null +++ b/py-compile @@ -0,0 +1,170 @@ +#!/bin/sh +# py-compile - Compile a Python program + +scriptversion=2011-06-08.12; # UTC + +# Copyright (C) 2000-2013 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, see <http://www.gnu.org/licenses/>. + +# 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 <bug-automake@gnu.org> or send patches to +# <automake-patches@gnu.org>. + +if [ -z "$PYTHON" ]; then + PYTHON=python +fi + +me=py-compile + +usage_error () +{ + echo "$me: $*" >&2 + echo "Try '$me --help' for more information." >&2 + exit 1 +} + +basedir= +destdir= +while test $# -ne 0; do + case "$1" in + --basedir) + if test $# -lt 2; then + usage_error "option '--basedir' requires an argument" + else + basedir=$2 + fi + shift + ;; + --destdir) + if test $# -lt 2; then + usage_error "option '--destdir' requires an argument" + else + destdir=$2 + fi + shift + ;; + -h|--help) + cat <<\EOF +Usage: py-compile [--help] [--version] [--basedir DIR] [--destdir DIR] FILES..." + +Byte compile some python scripts FILES. Use --destdir to specify any +leading directory path to the FILES that you don't want to include in the +byte compiled file. Specify --basedir for any additional path information you +do want to be shown in the byte compiled file. + +Example: + py-compile --destdir /tmp/pkg-root --basedir /usr/share/test test.py test2.py + +Report bugs to <bug-automake@gnu.org>. +EOF + exit $? + ;; + -v|--version) + echo "$me $scriptversion" + exit $? + ;; + --) + shift + break + ;; + -*) + usage_error "unrecognized option '$1'" + ;; + *) + break + ;; + esac + shift +done + +files=$* +if test -z "$files"; then + usage_error "no files given" +fi + +# if basedir was given, then it should be prepended to filenames before +# byte compilation. +if [ -z "$basedir" ]; then + pathtrans="path = file" +else + pathtrans="path = os.path.join('$basedir', file)" +fi + +# if destdir was given, then it needs to be prepended to the filename to +# byte compile but not go into the compiled file. +if [ -z "$destdir" ]; then + filetrans="filepath = path" +else + filetrans="filepath = os.path.normpath('$destdir' + os.sep + path)" +fi + +$PYTHON -c " +import sys, os, py_compile, imp + +files = '''$files''' + +sys.stdout.write('Byte-compiling python modules...\n') +for file in files.split(): + $pathtrans + $filetrans + if not os.path.exists(filepath) or not (len(filepath) >= 3 + and filepath[-3:] == '.py'): + continue + sys.stdout.write(file) + sys.stdout.flush() + if hasattr(imp, 'get_tag'): + py_compile.compile(filepath, imp.cache_from_source(filepath), path) + else: + py_compile.compile(filepath, filepath + 'c', path) +sys.stdout.write('\n')" || exit $? + +# this will fail for python < 1.5, but that doesn't matter ... +$PYTHON -O -c " +import sys, os, py_compile, imp + +# pypy does not use .pyo optimization +if hasattr(sys, 'pypy_translation_info'): + sys.exit(0) + +files = '''$files''' +sys.stdout.write('Byte-compiling python modules (optimized versions) ...\n') +for file in files.split(): + $pathtrans + $filetrans + if not os.path.exists(filepath) or not (len(filepath) >= 3 + and filepath[-3:] == '.py'): + continue + sys.stdout.write(file) + sys.stdout.flush() + if hasattr(imp, 'get_tag'): + py_compile.compile(filepath, imp.cache_from_source(filepath, False), path) + else: + py_compile.compile(filepath, filepath + 'o', path) +sys.stdout.write('\n')" 2>/dev/null || : + +# 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: diff --git a/soundconverter/Makefile.am b/soundconverter/Makefile.am new file mode 100644 index 0000000..fa66353 --- /dev/null +++ b/soundconverter/Makefile.am @@ -0,0 +1,27 @@ +## Process this file with automake to produce Makefile.in + +soundconverterdir = $(libdir)/soundconverter/python/soundconverter + +soundconverter_PYTHON = \ + __init__.py \ + error.py \ + gstreamer.py \ + fileoperations.py \ + namegenerator.py \ + notify.py \ + queue.py \ + settings.py \ + soundfile.py \ + task.py \ + ui.py \ + utils.py \ + messagearea.py \ + gconfstore.py \ + batch.py + + +clean-local: + rm -rf *.pyc *.pyo + + + diff --git a/soundconverter/Makefile.in b/soundconverter/Makefile.in new file mode 100644 index 0000000..9d8574c --- /dev/null +++ b/soundconverter/Makefile.in @@ -0,0 +1,527 @@ +# 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 = : +subdir = soundconverter +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/mkinstalldirs $(soundconverter_PYTHON) \ + $(top_srcdir)/py-compile +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +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__py_compile = PYTHON=$(PYTHON) $(SHELL) $(py_compile) +am__installdirs = "$(DESTDIR)$(soundconverterdir)" +am__pep3147_tweak = \ + sed -e 's|\.py$$||' -e 's|[^/]*$$|__pycache__/&.*.py|' +py_compile = $(top_srcdir)/py-compile +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@ +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@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +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@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +OBJEXT = @OBJEXT@ +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@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +PYTHON = @PYTHON@ +PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ +PYTHON_PLATFORM = @PYTHON_PLATFORM@ +PYTHON_PREFIX = @PYTHON_PREFIX@ +PYTHON_VERSION = @PYTHON_VERSION@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +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_CC = @ac_ct_CC@ +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_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +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@ +pkgpyexecdir = @pkgpyexecdir@ +pkgpythondir = @pkgpythondir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +pyexecdir = @pyexecdir@ +pythondir = @pythondir@ +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@ +soundconverterdir = $(libdir)/soundconverter/python/soundconverter +soundconverter_PYTHON = \ + __init__.py \ + error.py \ + gstreamer.py \ + fileoperations.py \ + namegenerator.py \ + notify.py \ + queue.py \ + settings.py \ + soundfile.py \ + task.py \ + ui.py \ + utils.py \ + messagearea.py \ + gconfstore.py \ + batch.py + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(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 soundconverter/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu soundconverter/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: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +install-soundconverterPYTHON: $(soundconverter_PYTHON) + @$(NORMAL_INSTALL) + @list='$(soundconverter_PYTHON)'; dlist=; list2=; test -n "$(soundconverterdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(soundconverterdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(soundconverterdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \ + if test -f $$b$$p; then \ + $(am__strip_dir) \ + dlist="$$dlist $$f"; \ + list2="$$list2 $$b$$p"; \ + else :; fi; \ + done; \ + for file in $$list2; do echo $$file; done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(soundconverterdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(soundconverterdir)" || exit $$?; \ + done || exit $$?; \ + if test -n "$$dlist"; then \ + $(am__py_compile) --destdir "$(DESTDIR)" \ + --basedir "$(soundconverterdir)" $$dlist; \ + else :; fi + +uninstall-soundconverterPYTHON: + @$(NORMAL_UNINSTALL) + @list='$(soundconverter_PYTHON)'; test -n "$(soundconverterdir)" || list=; \ + py_files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$py_files" || exit 0; \ + dir='$(DESTDIR)$(soundconverterdir)'; \ + pyc_files=`echo "$$py_files" | sed 's|$$|c|'`; \ + pyo_files=`echo "$$py_files" | sed 's|$$|o|'`; \ + py_files_pep3147=`echo "$$py_files" | $(am__pep3147_tweak)`; \ + echo "$$py_files_pep3147";\ + pyc_files_pep3147=`echo "$$py_files_pep3147" | sed 's|$$|c|'`; \ + pyo_files_pep3147=`echo "$$py_files_pep3147" | sed 's|$$|o|'`; \ + st=0; \ + for files in \ + "$$py_files" \ + "$$pyc_files" \ + "$$pyo_files" \ + "$$pyc_files_pep3147" \ + "$$pyo_files_pep3147" \ + ; do \ + $(am__uninstall_files_from_dir) || st=$$?; \ + done; \ + exit $$st +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: + for dir in "$(DESTDIR)$(soundconverterdir)"; 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) + +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-local 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-soundconverterPYTHON + +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 + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-soundconverterPYTHON + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-local \ + cscopelist-am ctags-am distclean distclean-generic distdir dvi \ + dvi-am html html-am info info-am install install-am \ + 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-soundconverterPYTHON install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am tags-am uninstall uninstall-am \ + uninstall-soundconverterPYTHON + + +clean-local: + rm -rf *.pyc *.pyo + +# 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: diff --git a/soundconverter/__init__.py b/soundconverter/__init__.py new file mode 100644 index 0000000..dafd178 --- /dev/null +++ b/soundconverter/__init__.py @@ -0,0 +1,23 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# SoundConverter - GNOME application for converting between audio formats. +# Copyright 2004 Lars Wirzenius +# Copyright 2005-2012 Gautier Portet +# +# 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; version 3 of the License. +# +# 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 + + + diff --git a/soundconverter/batch.py b/soundconverter/batch.py new file mode 100644 index 0000000..8c9eabd --- /dev/null +++ b/soundconverter/batch.py @@ -0,0 +1,130 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# SoundConverter - GNOME application for converting between audio formats. +# Copyright 2004 Lars Wirzenius +# Copyright 2005-2012 Gautier Portet +# +# 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; version 3 of the License. +# +# 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 + + +import sys +import gobject +import time +from soundfile import SoundFile +import error +from soundconverter.settings import settings +from gstreamer import TagReader +from namegenerator import TargetNameGenerator +from queue import TaskQueue +from gstreamer import Converter +from fileoperations import unquote_filename + +def cli_tags_main(input_files): + error.set_error_handler(error.ErrorPrinter()) + loop = gobject.MainLoop() + gobject.threads_init() + context = loop.get_context() + for input_file in input_files: + input_file = SoundFile(input_file) + if not settings['quiet']: + print(input_file.filename) + t = TagReader(input_file) + t.start() + while t.running: + time.sleep(0.01) + context.iteration(True) + + if not settings['quiet']: + for key in sorted(input_file.tags): + print(' %s: %s' % (key, input_file.tags[key])) + + +class CliProgress: + + def __init__(self): + self.current_text = '' + + def show(self, new_text): + if new_text != self.current_text: + self.clear() + sys.stdout.write(new_text) + sys.stdout.flush() + self.current_text = new_text + + def clear(self): + sys.stdout.write('\b \b' * len(self.current_text)) + sys.stdout.flush() + + +def cli_convert_main(input_files): + loop = gobject.MainLoop() + gobject.threads_init() + context = loop.get_context() + error.set_error_handler(error.ErrorPrinter()) + + output_type = settings['cli-output-type'] + output_suffix = settings['cli-output-suffix'] + + generator = TargetNameGenerator() + generator.suffix = output_suffix + + progress = CliProgress() + + queue = TaskQueue() + for input_file in input_files: + input_file = SoundFile(input_file) + output_name = generator.get_target_name(input_file) + c = Converter(input_file, output_name, output_type) + c.init() + c.start() + while c.running: + if c.get_duration(): + percent = min(100, 100.0* (c.get_position() / c.get_duration())) + percent = '%.1f %%' % percent + else: + percent = '/-\|' [int(time.time()) % 4] + progress.show('%s: %s' % (unquote_filename(c.sound_file.filename[-65:]), percent )) + time.sleep(0.01) + context.iteration(True) + print + + previous_filename = None + + ''' + queue.start() + + #running, progress = queue.get_progress(perfile) + while queue.running: + t = None #queue.get_current_task() + if t and not settings['quiet']: + if previous_filename != t.sound_file.get_filename_for_display(): + if previous_filename: + print _('%s: OK') % previous_filename + previous_filename = t.sound_file.get_filename_for_display() + + percent = 0 + if t.get_duration(): + percent = '%.1f %%' % ( 100.0* (t.get_position() / t.get_duration() )) + else: + percent = '/-\|' [int(time.time()) % 4] + progress.show('%s: %s' % (t.sound_file.get_filename_for_display()[-65:], percent )) + time.sleep(0.10) + context.iteration(True) + ''' + if not settings['quiet']: + progress.clear() + + diff --git a/soundconverter/error.py b/soundconverter/error.py new file mode 100644 index 0000000..69e756c --- /dev/null +++ b/soundconverter/error.py @@ -0,0 +1,44 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# SoundConverter - GNOME application for converting between audio formats. +# Copyright 2004 Lars Wirzenius +# Copyright 2005-2012 Gautier Portet +# +# 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; version 3 of the License. +# +# 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 + +from gettext import gettext as _ +import sys + + +class ErrorPrinter: + + def show_error(self, primary, secondary): + try: + sys.stderr.write(_('\n\nError: %s\n%s\n') % (primary, secondary)) + except: + pass + sys.exit(1) + + +error_handler = ErrorPrinter() + +def set_error_handler(handler): + global error_handler + error_handler = handler + +def show_error(primary, secondary): + error_handler.show_error(primary, secondary) + diff --git a/soundconverter/fileoperations.py b/soundconverter/fileoperations.py new file mode 100644 index 0000000..535cd01 --- /dev/null +++ b/soundconverter/fileoperations.py @@ -0,0 +1,154 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# SoundConverter - GNOME application for converting between audio formats. +# Copyright 2004 Lars Wirzenius +# Copyright 2005-2012 Gautier Portet +# +# 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; version 3 of the License. +# +# 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 + +import os +import urllib +import urlparse +import gnomevfs + +from utils import log +from error import show_error + +use_gnomevfs = False + +def unquote_filename(filename): + return urllib.unquote(filename) + + +def beautify_uri(uri): + return unquote_filename(uri).split('file://')[-1] + + +def vfs_walk(uri): + """similar to os.path.walk, but with gnomevfs. + + uri -- the base folder uri. + return a list of uri. + + """ + if str(uri)[-1] != '/': + uri = uri.append_string('/') + + filelist = [] + + try: + dirlist = gnomevfs.open_directory(uri, gnomevfs.FILE_INFO_FOLLOW_LINKS) + for file_info in dirlist: + try: + if file_info.name[0] == '.': + continue + + if file_info.type == gnomevfs.FILE_TYPE_DIRECTORY: + filelist.extend( + vfs_walk(uri.append_path(file_info.name))) + + if file_info.type == gnomevfs.FILE_TYPE_REGULAR: + filelist.append(str(uri.append_file_name(file_info.name))) + except ValueError: + # this can happen when you do not have sufficent + # permissions to read file info. + log("skipping: \'%s\'" % file_info.name) + except: + log("skipping: '%s\'" % uri) + return filelist + + return filelist + + +def vfs_makedirs(path_to_create): + """Similar to os.makedirs, but with gnomevfs.""" + + uri = gnomevfs.URI(path_to_create) + path = uri.path + + # start at root + uri = uri.resolve_relative('/') + + for folder in path.split('/'): + if not folder: + continue + uri = uri.append_string(folder.replace('%2f', '/')) + try: + gnomevfs.make_directory(uri, 0777) + except gnomevfs.FileExistsError: + pass + except: + return False + return True + + +def vfs_unlink(filename): + """Delete a gnomevfs file.""" + + gnomevfs.unlink(gnomevfs.URI(filename)) + + +def vfs_rename(original, newname): + """Rename a gnomevfs file""" + + uri = gnomevfs.URI(newname) + dirname = uri.parent + if dirname and not gnomevfs.exists(dirname): + log('Creating folder: \'%s\'' % dirname) + if not vfs_makedirs(str(dirname)): + show_error(_('Cannot create folder!'), unquote_filename(dirname.path)) + return 'cannot-create-folder' + + try: + gnomevfs.xfer_uri(gnomevfs.URI(original), uri, + gnomevfs.XFER_REMOVESOURCE, + gnomevfs.XFER_ERROR_MODE_ABORT, + gnomevfs.XFER_OVERWRITE_MODE_ABORT + ) + except Exception as error: + # TODO: maybe we need a special case here. If dest folder is unwritable. Just stop. + # or an option to stop all processing. + show_error(_('Error while renaming file!'), '%s: %s' % (beautify_uri(newname), error)) + return 'cannot-rename-file' + + +def vfs_exists(filename): + try: + return gnomevfs.exists(filename) + except: + return False + + +def filename_to_uri(filename): + """Convert a filename to a valid uri. + Filename can be a relative or absolute path, or an uri. + """ + if '://' not in filename: + # convert local filename to uri + filename = urllib.pathname2url(os.path.abspath(filename)) + filename = str(gnomevfs.URI(filename)) + return filename + + +# GStreamer gnomevfssrc helpers + +def vfs_encode_filename(filename): + return filename_to_uri(filename) + + +def file_encode_filename(filename): + return gnomevfs.get_local_path_from_uri(filename).replace(' ', '\ ') + diff --git a/soundconverter/gconfstore.py b/soundconverter/gconfstore.py new file mode 100644 index 0000000..ebd2488 --- /dev/null +++ b/soundconverter/gconfstore.py @@ -0,0 +1,59 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# SoundConverter - GNOME application for converting between audio formats. +# Copyright 2004 Lars Wirzenius +# Copyright 2005-2012 Gautier Portet +# +# 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; version 3 of the License. +# +# 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 + +import gconf + + +class GConfStore(object): + + def __init__(self, root, defaults): + self.gconf = gconf.client_get_default() + self.gconf.add_dir(root, gconf.CLIENT_PRELOAD_ONELEVEL) + self.root = root + self.defaults = defaults + + def get_with_default(self, getter, key): + if self.gconf.get(self.path(key)) is None: + return self.defaults[key] + else: + return getter(self.path(key)) + + def get_int(self, key): + return self.get_with_default(self.gconf.get_int, key) + + def set_int(self, key, value): + self.gconf.set_int(self.path(key), value) + + def get_float(self, key): + return self.get_with_default(self.gconf.get_float, key) + + def set_float(self, key, value): + self.gconf.set_float(self.path(key), value) + + def get_string(self, key): + return self.get_with_default(self.gconf.get_string, key) + + def set_string(self, key, value): + self.gconf.set_string(self.path(key), value) + + def path(self, key): + assert key in self.defaults, 'missing gconf default:%s' % key + return '%s/%s' % (self.root, key) diff --git a/soundconverter/gstreamer.py b/soundconverter/gstreamer.py new file mode 100644 index 0000000..9ab0cf4 --- /dev/null +++ b/soundconverter/gstreamer.py @@ -0,0 +1,823 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# SoundConverter - GNOME application for converting between audio formats. +# Copyright 2004 Lars Wirzenius +# Copyright 2005-2012 Gautier Portet +# +# 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; version 3 of the License. +# +# 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 + +import os +import sys +from urlparse import urlparse +from gettext import gettext as _ + +import gobject +import gst +import gst.pbutils +import gnomevfs +import gconf + +from fileoperations import vfs_encode_filename, file_encode_filename +from fileoperations import unquote_filename, vfs_makedirs, vfs_unlink +from fileoperations import vfs_rename +from fileoperations import vfs_exists +from fileoperations import beautify_uri +from fileoperations import use_gnomevfs +from task import BackgroundTask +from queue import TaskQueue +from utils import debug, log +from settings import mime_whitelist, filename_blacklist +from error import show_error +try: + from notify import notification +except: + def notification(msg): + pass + +from fnmatch import fnmatch + +import time +import gtk +def gtk_iteration(): + while gtk.events_pending(): + gtk.main_iteration(False) + + +def gtk_sleep(duration): + start = time.time() + while time.time() < start + duration: + time.sleep(0.010) + gtk_iteration() + +import gconf +# load gstreamer audio profiles +_GCONF_PROFILE_PATH = "/system/gstreamer/0.10/audio/profiles/" +_GCONF_PROFILE_LIST_PATH = "/system/gstreamer/0.10/audio/global/profile_list" +audio_profiles_list = [] +audio_profiles_dict = {} + +_GCONF = gconf.client_get_default() +profiles = _GCONF.get_list(_GCONF_PROFILE_LIST_PATH, 1) +for name in profiles: + if _GCONF.get_bool(_GCONF_PROFILE_PATH + name + "/active"): + # get profile + description = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/name") + extension = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/extension") + pipeline = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/pipeline") + # check profile validity + if not extension or not pipeline: + continue + if not description: + description = extension + if description in audio_profiles_dict: + continue + # store + profile = description, extension, pipeline + audio_profiles_list.append(profile) + audio_profiles_dict[description] = profile + +required_elements = ('decodebin', 'fakesink', 'audioconvert', 'typefind', 'audiorate') +for element in required_elements: + if not gst.element_factory_find(element): + print("required gstreamer element \'%s\' not found." % element) + sys.exit(1) + +if gst.element_factory_find('giosrc'): + gstreamer_source = 'giosrc' + gstreamer_sink = 'giosink' + encode_filename = vfs_encode_filename + use_gnomevfs = True + print(' using gio') +elif gst.element_factory_find('gnomevfssrc'): + gstreamer_source = 'gnomevfssrc' + gstreamer_sink = 'gnomevfssink' + encode_filename = vfs_encode_filename + use_gnomevfs = True + print(' using deprecated gnomevfssrc') +else: + gstreamer_source = 'filesrc' + gstreamer_sink = 'filesink' + encode_filename = file_encode_filename + print(' not using gnomevfssrc, look for a gnomevfs gstreamer package.') + +# used to dismiss codec installation if the user already canceled it +user_canceled_codec_installation = False + +encoders = ( + ('flacenc', 'FLAC'), + ('wavenc', 'WAV'), + ('vorbisenc', 'Ogg Vorbis'), + ('oggmux', 'Ogg Vorbis'), + ('id3v2mux', 'MP3 Tags'), + ('xingmux', 'Xing Header'), + ('lame', 'MP3'), + ('faac', 'AAC'), + ('mp4mux', 'AAC'), + ('opusenc', 'Opus'), + ) + +available_elements = set() + +for encoder, name in encoders: + have_it = bool(gst.element_factory_find(encoder)) + if have_it: + available_elements.add(encoder) + else: + print (' "%s" gstreamer element not found' + ', disabling %s output.' % (encoder, name)) + +if 'oggmux' not in available_elements: + available_elements.discard('vorbisenc') + + +class Pipeline(BackgroundTask): + + """A background task for running a GstPipeline.""" + + def __init__(self): + BackgroundTask.__init__(self) + self.pipeline = None + self.sound_file = None + self.command = [] + self.parsed = False + self.signals = [] + self.processing = False + self.eos = False + self.error = None + self.connected_signals = [] + + def started(self): + self.play() + + def cleanup(self): + for element, sid in self.connected_signals: + element.disconnect(sid) + self.connected_signals = [] + self.stop_pipeline() + + def aborted(self): + self.cleanup() + + def finished(self): + self.cleanup() + + def add_command(self, command): + self.command.append(command) + + def add_signal(self, name, signal, callback): + self.signals.append((name, signal, callback,)) + + def toggle_pause(self, paused): + if not self.pipeline: + debug('toggle_pause(): pipeline is None !') + return + + if paused: + self.pipeline.set_state(gst.STATE_PAUSED) + else: + self.pipeline.set_state(gst.STATE_PLAYING) + + def found_tag(self, decoder, something, taglist): + pass + + def restart(self): + self.parsed = False + self.duration = None + self.finished() + if vfs_exists(self.output_filename): + vfs_unlink(self.output_filename) + self.play() + + def install_plugin_cb(self, result): + if result in (gst.pbutils.INSTALL_PLUGINS_SUCCESS, + gst.pbutils.INSTALL_PLUGINS_PARTIAL_SUCCESS): + gst.update_registry() + self.restart() + return + if result == gst.pbutils.INSTALL_PLUGINS_USER_ABORT: + self.error = _('Plugin installation aborted.') + global user_canceled_codec_installation + user_canceled_codec_installation = True + self.done() + return + self.done() + show_error('Error', 'failed to install plugins: %s' % gobject.markup_escape_text(str(result))) + + def on_error(self, error): + self.error = error + log('error: %s (%s)' % (error, self.command)) + + def on_message(self, bus, message): + t = message.type + import gst + if t == gst.MESSAGE_ERROR: + error, _ = message.parse_error() + self.eos = True + self.error = error + self.on_error(error) + self.done() + elif gst.pbutils.is_missing_plugin_message(message): + global user_canceled_codec_installation + detail = gst.pbutils.missing_plugin_message_get_installer_detail(message) + debug('missing plugin:', detail.split('|')[3] , self.sound_file.uri) + self.pipeline.set_state(gst.STATE_NULL) + if gst.pbutils.install_plugins_installation_in_progress(): + while gst.pbutils.install_plugins_installation_in_progress(): + gtk_sleep(0.1) + self.restart() + return + if user_canceled_codec_installation: + self.error = 'Plugin installation cancelled' + debug(self.error) + self.done() + return + ctx = gst.pbutils.InstallPluginsContext() + gst.pbutils.install_plugins_async([detail], ctx, self.install_plugin_cb) + + elif t == gst.MESSAGE_EOS: + self.eos = True + self.done() + + elif t == gst.MESSAGE_TAG: + self.found_tag(self, '', message.parse_tag()) + return True + + def play(self): + if not self.parsed: + command = ' ! '.join(self.command) + debug('launching: \'%s\'' % command) + try: + self.pipeline = gst.parse_launch(command) + bus = self.pipeline.get_bus() + assert not self.connected_signals + self.connected_signals = [] + for name, signal, callback in self.signals: + if name: + element = self.pipeline.get_by_name(name) + else: + element = bus + sid = element.connect(signal, callback) + self.connected_signals.append((element, sid,)) + + self.parsed = True + + except gobject.GError, e: + show_error('GStreamer error when creating pipeline', str(e)) + self.error = str(e) + self.eos = True + self.done() + return + + bus.add_signal_watch() + watch_id = bus.connect('message', self.on_message) + self.watch_id = watch_id + + self.pipeline.set_state(gst.STATE_PLAYING) + + def stop_pipeline(self): + if not self.pipeline: + debug('pipeline already stopped!') + return + bus = self.pipeline.get_bus() + bus.disconnect(self.watch_id) + bus.remove_signal_watch() + self.pipeline.set_state(gst.STATE_NULL) + #self.pipeline = None + + def get_position(self): + return NotImplementedError + + +class TypeFinder(Pipeline): + + def __init__(self, sound_file): + Pipeline.__init__(self) + self.sound_file = sound_file + + command = '%s location="%s" ! typefind name=typefinder ! fakesink' % \ + (gstreamer_source, encode_filename(self.sound_file.uri)) + self.add_command(command) + self.add_signal('typefinder', 'have-type', self.have_type) + + def on_error(self, error): + self.error = error + log('error: %s (%s)' % (error, self.sound_file.filename_for_display)) + + def set_found_type_hook(self, found_type_hook): + self.found_type_hook = found_type_hook + + def have_type(self, typefind, probability, caps): + mime_type = caps.to_string() + debug('have_type:', mime_type, + self.sound_file.filename_for_display) + self.sound_file.mime_type = None + #self.sound_file.mime_type = mime_type + for t in mime_whitelist: + if t in mime_type: + self.sound_file.mime_type = mime_type + if not self.sound_file.mime_type: + log('mime type skipped: %s' % mime_type) + for t in filename_blacklist: + if fnmatch(self.sound_file.uri, t): + self.sound_file.mime_type = None + log('filename blacklisted (%s): %s' % (t, + self.sound_file.filename_for_display)) + + self.pipeline.set_state(gst.STATE_NULL) + self.done() + + def finished(self): + Pipeline.finished(self) + if self.error: + return + if self.found_type_hook and self.sound_file.mime_type: + gobject.idle_add(self.found_type_hook, self.sound_file, + self.sound_file.mime_type) + self.sound_file.mime_type = True # remove string + + +class Decoder(Pipeline): + + """A GstPipeline background task that decodes data and finds tags.""" + + def __init__(self, sound_file): + Pipeline.__init__(self) + self.sound_file = sound_file + self.time = 0 + self.position = 0 + + command = '%s location="%s" name=src ! decodebin name=decoder' % \ + (gstreamer_source, encode_filename(self.sound_file.uri)) + self.add_command(command) + self.add_signal('decoder', 'new-decoded-pad', self.new_decoded_pad) + + def on_error(self, error): + self.error = error + log('error: %s (%s)' % (error, + self.sound_file.filename_for_display)) + + def have_type(self, typefind, probability, caps): + pass + + def query_duration(self): + """ + Ask for the duration of the current pipeline. + """ + try: + if not self.sound_file.duration and self.pipeline: + self.sound_file.duration = self.pipeline.query_duration( + gst.FORMAT_TIME)[0] / gst.SECOND + debug('got file duration:', self.sound_file.duration) + if self.sound_file.duration < 0: + self.sound_file.duration = None + except gst.QueryError: + self.sound_file.duration = None + + def query_position(self): + """ + Ask for the stream position of the current pipeline. + """ + try: + if self.pipeline: + self.position = self.pipeline.query_position( + gst.FORMAT_TIME)[0] / gst.SECOND + if self.position < 0: + self.position = 0 + except gst.QueryError: + self.position = 0 + + + def found_tag(self, decoder, something, taglist): + """ + Called when the decoder reads a tag. + """ + debug('found_tags:', self.sound_file.filename_for_display) + for k in taglist.keys(): + if 'image' not in k: + debug('\t%s=%s' % (k, taglist[k])) + if isinstance(taglist[k], gst.Date): + taglist['year'] = taglist[k].year + taglist['date'] = '%04d-%02d-%02d' % (taglist[k].year, + taglist[k].month, taglist[k].day) + tag_whitelist = ( + 'artist', + 'album', + 'title', + 'track-number', + 'track-count', + 'genre', + 'date', + 'year', + 'timestamp', + 'disc-number', + 'disc-count', + ) + tags = {} + for k in taglist.keys(): + if k in tag_whitelist: + tags[k] = taglist[k] + + self.sound_file.tags.update(tags) + self.query_duration() + + def new_decoded_pad(self, decoder, pad, is_last): + """ called when a decoded pad is created """ + self.query_duration() + self.processing = True + + def finished(self): + Pipeline.finished(self) + + def get_sound_file(self): + return self.sound_file + + def get_input_uri(self): + return self.sound_file.uri + + def get_duration(self): + """ return the total duration of the sound file """ + self.query_duration() + return self.sound_file.duration + + def get_position(self): + """ return the current pipeline position in the stream """ + self.query_position() + return self.position + + +class TagReader(Decoder): + + """A GstPipeline background task for finding meta tags in a file.""" + + def __init__(self, sound_file): + Decoder.__init__(self, sound_file) + self.found_tag_hook = None + self.found_tags = False + self.tagread = False + self.run_start_time = 0 + self.add_command('fakesink') + self.add_signal(None, 'message::state-changed', self.on_state_changed) + self.tagread = False + + def set_found_tag_hook(self, found_tag_hook): + self.found_tag_hook = found_tag_hook + + def on_state_changed(self, bus, message): + prev, new, pending = message.parse_state_changed() + if new == gst.STATE_PLAYING and not self.tagread: + self.tagread = True + debug('TagReading done...') + self.done() + + def finished(self): + Pipeline.finished(self) + self.sound_file.tags_read = True + if self.found_tag_hook: + gobject.idle_add(self.found_tag_hook, self) + + +class Converter(Decoder): + + """A background task for converting files to another format.""" + + def __init__(self, sound_file, output_filename, output_type, + delete_original=False, output_resample=False, + resample_rate=48000, force_mono=False): + Decoder.__init__(self, sound_file) + + self.output_filename = output_filename + self.output_type = output_type + self.vorbis_quality = 0.6 + self.aac_quality = 192 + self.mp3_bitrate = 192 + self.mp3_mode = 'vbr' + self.mp3_quality = 3 + self.flac_compression = 8 + self.wav_sample_width = 16 + + self.output_resample = output_resample + self.resample_rate = resample_rate + self.force_mono = force_mono + + self.delete_original = delete_original + + self.got_duration = False + + def init(self): + self.encoders = { + 'audio/x-vorbis': self.add_oggvorbis_encoder, + 'audio/x-flac': self.add_flac_encoder, + 'audio/x-wav': self.add_wav_encoder, + 'audio/mpeg': self.add_mp3_encoder, + 'audio/x-m4a': self.add_aac_encoder, + 'audio/ogg; codecs=opus': self.add_opus_encoder, + 'gst-profile': self.add_audio_profile, + } + self.add_command('audiorate tolerance=10000000') + self.add_command('audioconvert') + self.add_command('audioresample') + + # audio resampling support + if self.output_resample: + self.add_command('audio/x-raw-int,rate=%d' % self.resample_rate) + self.add_command('audioconvert') + self.add_command('audioresample') + + if self.force_mono: + self.add_command('audio/x-raw-int,channels=1') + self.add_command('audioconvert') + + encoder = self.encoders[self.output_type]() + if not encoder: + # TODO: is this used ? + # TODO: add proper error management when an encoder cannot be created + show_error(_('Error', "Cannot create a decoder for \'%s\' format.") % + self.output_type) + return + + self.add_command(encoder) + + uri = gnomevfs.URI(self.output_filename) + dirname = uri.parent + if dirname and not gnomevfs.exists(dirname): + log('Creating folder: \'%s\'' % dirname) + if not vfs_makedirs(str(dirname)): + show_error('Error', _("Cannot create \'%s\' folder.") % dirname) + return + + self.add_command('%s location="%s"' % ( + gstreamer_sink, encode_filename(self.output_filename))) + + def aborted(self): + # remove partial file + try: + gnomevfs.unlink(self.output_filename) + except: + log('cannot delete: \'%s\'' % beautify_uri(self.output_filename)) + return + + def finished(self): + Pipeline.finished(self) + + # Copy file permissions + try: + info = gnomevfs.get_file_info(self.sound_file.uri, + gnomevfs.FILE_INFO_FIELDS_PERMISSIONS) + gnomevfs.set_file_info(self.output_filename, info, + gnomevfs.SET_FILE_INFO_PERMISSIONS) + except: + log('Cannot set permission on \'%s\'' % + gnomevfs.format_uri_for_display(self.output_filename)) + + if self.delete_original and self.processing and not self.error: + log('deleting: \'%s\'' % self.sound_file.uri) + try: + vfs_unlink(self.sound_file.uri) + except: + log('Cannot remove \'%s\'' % + gnomevfs.format_uri_for_display(self.output_filename)) + + def on_error(self, err): + #pass + self.error = err + show_error('<b>%s</b>' % _('GStreamer Error:'), '%s\n<i>(%s)</i>' % (err, + self.sound_file.filename_for_display)) + + def set_vorbis_quality(self, quality): + self.vorbis_quality = quality + + def set_aac_quality(self, quality): + self.aac_quality = quality + + def set_opus_quality(self, quality): + self.opus_quality = quality + + def set_mp3_mode(self, mode): + self.mp3_mode = mode + + def set_mp3_quality(self, quality): + self.mp3_quality = quality + + def set_flac_compression(self, compression): + self.flac_compression = compression + + def set_wav_sample_width(self, sample_width): + self.wav_sample_width = sample_width + + def set_audio_profile(self, audio_profile): + self.audio_profile = audio_profile + + def add_flac_encoder(self): + s = 'flacenc mid-side-stereo=true quality=%s' % self.flac_compression + return s + + def add_wav_encoder(self): + return 'audio/x-raw-int,width=%d ! wavenc' % ( + self.wav_sample_width) + + def add_oggvorbis_encoder(self): + cmd = 'vorbisenc' + if self.vorbis_quality is not None: + cmd += ' quality=%s' % self.vorbis_quality + cmd += ' ! oggmux ' + return cmd + + def add_mp3_encoder(self): + cmd = 'lamemp3enc encoding-engine-quality=2 ' + + if self.mp3_mode is not None: + properties = { + 'cbr' : 'target=bitrate cbr=true bitrate=%s ', + 'abr' : 'target=bitrate cbr=false bitrate=%s ', + 'vbr' : 'target=quality cbr=false quality=%s ', + } + + cmd += properties[self.mp3_mode] % self.mp3_quality + + if 'xingmux' in available_elements and properties[self.mp3_mode][0]: + # add xing header when creating VBR mp3 + cmd += '! xingmux ' + + if 'id3v2mux' in available_elements: + # add tags + cmd += '! id3v2mux ' + + return cmd + + def add_aac_encoder(self): + return 'faac bitrate=%s ! mp4mux' % (self.aac_quality * 1000) + + def add_opus_encoder(self): + return 'opusenc bitrate=%s ! oggmux' % (self.opus_quality * 1000) + + def add_audio_profile(self): + pipeline = audio_profiles_dict[self.audio_profile][2] + return pipeline + + +class ConverterQueue(TaskQueue): + + """Background task for converting many files.""" + + def __init__(self, window): + TaskQueue.__init__(self) + self.window = window + self.reset_counters() + + def reset_counters(self): + self.total_duration = 0 + self.duration_processed = 0 + self.errors = [] + self.error_count = 0 + self.all_tasks = None + global user_canceled_codec_installation + user_canceled_codec_installation = True + + def add(self, sound_file): + # generate a temporary filename from source name and output suffix + output_filename = self.window.prefs.generate_temp_filename(sound_file) + '~SC~' + + if vfs_exists(output_filename): + # always overwrite temporary files + vfs_unlink(output_filename) + + c = Converter(sound_file, output_filename, + self.window.prefs.get_string('output-mime-type'), + self.window.prefs.get_int('delete-original'), + self.window.prefs.get_int('output-resample'), + self.window.prefs.get_int('resample-rate'), + self.window.prefs.get_int('force-mono'), + ) + c.set_vorbis_quality(self.window.prefs.get_float('vorbis-quality')) + c.set_aac_quality(self.window.prefs.get_int('aac-quality')) + c.set_opus_quality(self.window.prefs.get_int('opus-bitrate')) + c.set_flac_compression(self.window.prefs.get_int('flac-compression')) + c.set_wav_sample_width(self.window.prefs.get_int('wav-sample-width')) + c.set_audio_profile(self.window.prefs.get_string('audio-profile')) + + quality = { + 'cbr': 'mp3-cbr-quality', + 'abr': 'mp3-abr-quality', + 'vbr': 'mp3-vbr-quality' + } + mode = self.window.prefs.get_string('mp3-mode') + c.set_mp3_mode(mode) + c.set_mp3_quality(self.window.prefs.get_int(quality[mode])) + c.init() + c.add_listener('finished', self.on_task_finished) + self.add_task(c) + + def get_progress(self, per_file_progress): + tasks = self.running_tasks + + # try to get all tasks durations + if not self.all_tasks: + self.all_tasks = [] + self.all_tasks.extend(self.waiting_tasks) + self.all_tasks.extend(self.running_tasks) + + for task in self.all_tasks: + if task.sound_file.duration is None: + duration = task.get_duration() + if duration: + self.total_duration += duration + + position = 0.0 + prolist = [] + for task in range(self.finished_tasks): # TODO: use the add, luke + prolist.append(1.0) + for task in tasks: + if task.running: + position += task.get_position() + taskprogress = float(task.get_position()) / task.sound_file.duration if task.sound_file.duration else 0 + taskprogress = min(max(taskprogress, 0.0), 1.0) + prolist.append(taskprogress) + per_file_progress[task.sound_file] = taskprogress + for task in self.waiting_tasks: + prolist.append(0.0) + + progress = sum(prolist)/len(prolist) if prolist else 0 + progress = min(max(progress, 0.0), 1.0) + return self.running or len(self.all_tasks), progress + + def on_task_finished(self, task): + task.sound_file.progress = 1.0 + + if task.error: + debug('error in task, skipping rename:', task.output_filename) + if vfs_exists(task.output_filename): + vfs_unlink(task.output_filename) + self.errors.append(task.error) + self.error_count += 1 + return + + duration = task.get_duration() + if duration: + self.duration_processed += duration + + # rename temporary file + newname = self.window.prefs.generate_filename(task.sound_file) + log(beautify_uri(task.output_filename), '->', beautify_uri(newname)) + + # safe mode. generate a filename until we find a free one + p,e = os.path.splitext(newname) + p = p.replace('%', '%%') + p = p + ' (%d)' + e + i = 1 + while vfs_exists(newname): + newname = p % i + i += 1 + + task.error = vfs_rename(task.output_filename, newname) + if task.error: + self.errors.append(task.error) + self.error_count += 1 + + def finished(self): + # This must be called with emit_async + if self.running_tasks: + raise RuntimeError + TaskQueue.finished(self) + self.window.set_sensitive() + self.window.conversion_ended() + total_time = self.run_finish_time - self.run_start_time + msg = _('Conversion done in %s') % self.format_time(total_time) + if self.error_count: + msg += ', %d error(s)' % self.error_count + self.window.set_status(msg) + if not self.window.is_active(): + notification(msg) # this must move + self.reset_counters() + + def format_time(self, seconds): + units = [(86400, 'd'), + (3600, 'h'), + (60, 'm'), + (1, 's')] + seconds = round(seconds) + result = [] + for factor, unity in units: + count = int(seconds / factor) + seconds -= count * factor + if count > 0 or (factor == 1 and not result): + result.append('%d %s' % (count, unity)) + assert seconds == 0 + return ' '.join(result) + + def abort(self): + TaskQueue.abort(self) + self.window.set_sensitive() + self.reset_counters() diff --git a/soundconverter/messagearea.py b/soundconverter/messagearea.py new file mode 100644 index 0000000..9bb3d87 --- /dev/null +++ b/soundconverter/messagearea.py @@ -0,0 +1,219 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# SoundConverter - GNOME application for converting between audio formats. +# Copyright 2004 Lars Wirzenius +# Copyright 2005-2012 Gautier Portet +# +# 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; version 3 of the License. +# +# 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 + +# THIS FILE WAS PART OF THE JOKOSHER PROJECT AND LICENSED UNDER THE GPL. + +import gtk +import gobject + + +class MessageArea(gtk.HBox): + + __gsignals__ = { + "response" : ( gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, (gobject.TYPE_INT,) ), + "close" : ( gobject.SIGNAL_RUN_LAST | gobject.SIGNAL_ACTION, gobject.TYPE_NONE, () ) + } + + def __init__(self): + gtk.HBox.__init__(self) + + self.contents = None + self.changing_style = False + + self.main_hbox = gtk.HBox(False, 16) # FIXME: use style properties + self.main_hbox.show() + self.main_hbox.set_border_width(8) # FIXME: use style properties + + self.action_area = gtk.VBox(True, 3) # FIXME: use style properties */ + self.action_area.show() + + self.main_hbox.pack_end(self.action_area, False, True) + self.pack_start(self.main_hbox, True, True) + + self.set_app_paintable(True) + + #self.connect("expose-event", self.paint_message_area) + self.connect("size-allocate", self.on_size_allocate) + + # Note that we connect to style-set on one of the internal + # widgets, not on the message area itself, since gtk does + # not deliver any further style-set signals for a widget on + # which the style has been forced with gtk_widget_set_style() + self.main_hbox.connect("style-set", self.style_set) + + def on_size_allocate(self, widget, rectangle): + # force a _complete_ redraw here or else in certain cases after resizing + # some border lines are left painted on top of the main content area. + self.queue_draw() + + def style_set(self, widget, prev_style): + if self.changing_style: + return + + # This is a hack needed to use the tooltip background color + window = gtk.Window(gtk.WINDOW_POPUP) + window.set_name("gtk-tooltip") + window.ensure_style() + style = window.get_style() + + self.changing_style = True + self.set_style(style) + self.changing_style = False + + window.destroy() + + self.queue_draw() + + def paint_message_area(self, widget, event): + a = widget.get_allocation() + x = a.x + 1 + y = a.y + 1 + width = a.width - 2 + height = a.height - 2 + widget.style.paint_flat_box(widget.window, gtk.STATE_NORMAL, gtk.SHADOW_OUT, None, + widget, "tooltip", x, y, width, height) + return False + + def action_widget_activated(self, widget): + resp = self.get_response_data(widget) + if resp is None: + resp = gtk.RESPONSE_NONE + self.response(resp) + + def get_response_data(self, widget): + return widget.get_data("gedit-message-area-response-data") + + def set_response_data(self, widget, new_id): + widget.set_data("gedit-message-area-response-data", new_id) + + def add_action_widget(self, child, response_id): + self.set_response_data(child, response_id) + + try: + signal = child.get_activate_signal() + except ValueError: + signal = None + + if isinstance(child, gtk.Button): + child.connect("clicked", self.action_widget_activated) + elif signal: + child.connect(signal, self.action_widget_activated) + else: + pass + #g_warning("Only 'activatable' widgets can be packed into the action area of a GeditMessageArea"); + + if response_id != gtk.RESPONSE_HELP: + self.action_area.pack_end(child, False, False) + else: + self.action_area.pack_start(child, False, False) + + + def add_button(self, text, response_id): + button = gtk.Button(stock=text) + button.set_flags(gtk.CAN_DEFAULT) + button.show() + self.add_action_widget(button, response_id) + return button + + def add_buttons(self, *buttons): + for text, response_id in buttons: + self.add_button(text, response_id) + + def set_response_sensitive(self, response_id, setting): + children = self.action_area.get_children() + + for child in children: + rd = self.get_response_data(child) + if rd == response_id: + child.set_sensitive(setting) + + def set_default_response(self, response_id): + children = self.action_area.get_children() + + for child in children: + rd = self.get_response_data(child) + if rd == response_id: + child.grab_default() + + def response(self, response_id): + self.emit("response", response_id) + + def add_stock_button_with_text(self, text, stock_id, response_id): + button = gtk.Button(text, use_underline=True) + button.set_image(gtk.image_new_from_stock(stock_id,gtk.ICON_SIZE_BUTTON)) + button.set_flags(gtk.CAN_DEFAULT) + button.show() + self.add_action_widget(button, response_id) + + def set_contents(self, contents): + self.contents = contents; + self.main_hbox.pack_start(self.contents, True, True) + + def set_text_and_icon(self, icon_stock_id, primary_text, + secondary_text=None, additionnal_widget=None): + hbox_content = gtk.HBox(False, 8) + hbox_content.show() + + image = gtk.image_new_from_stock(icon_stock_id, gtk.ICON_SIZE_DIALOG) + image.show() + hbox_content.pack_start(image, False, False) + image.set_alignment(0.5, 0.5) + + vbox = gtk.VBox(False, 6) + vbox.show() + hbox_content.pack_start(vbox, True, True) + + primary_markup = "<b>%s</b>" % primary_text + primary_label = gtk.Label(primary_markup) + primary_label.set_use_markup(True) + primary_label.set_line_wrap(True) + primary_label.set_alignment(0, 0.5) + primary_label.set_flags(gtk.CAN_FOCUS) + primary_label.set_selectable(True) + + textcolor = self.get_style().text[1] + self.get_style().text[0] = self.get_style().text[1] + + primary_label.show() + + vbox.pack_start(primary_label, True, True) + + if secondary_text: + secondary_markup = "<small>%s</small>" % secondary_text + secondary_label = gtk.Label(secondary_markup) + secondary_label.set_flags(gtk.CAN_FOCUS) + secondary_label.set_use_markup(True) + secondary_label.set_line_wrap(True) + secondary_label.set_selectable(True) + secondary_label.set_alignment(0, 0.5) + secondary_label.show() + + vbox.pack_start(secondary_label, True, True) + + if additionnal_widget: + vbox.pack_start(additionnal_widget, True, True) + + self.set_contents(hbox_content) + + +gtk.binding_entry_add_signal(MessageArea, gtk.gdk.keyval_from_name("Escape"), 0, "close") + + diff --git a/soundconverter/namegenerator.py b/soundconverter/namegenerator.py new file mode 100644 index 0000000..7ec7e17 --- /dev/null +++ b/soundconverter/namegenerator.py @@ -0,0 +1,110 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# SoundConverter - GNOME application for converting between audio formats. +# Copyright 2004 Lars Wirzenius +# Copyright 2005-2012 Gautier Portet +# +# 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; version 3 of the License. +# +# 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 + +import time +import os +import urllib +import gnomevfs +from fileoperations import vfs_exists + + +class TargetNameGenerator: + + """Generator for creating the target name from an input name.""" + + bad_chars = u'\\?%*:|"<>\ufffd' + + def __init__(self): + self.folder = None + self.subfolders = '' + self.basename = '%(.inputname)s' + self.ext = '%(.ext)s' + self.suffix = None + self.replace_messy_chars = False + self.max_tries = 2 + self.exists = vfs_exists + + def get_target_name(self, sound_file): + + assert self.suffix, 'you just forgot to call set_target_suffix()' + + u = gnomevfs.URI(sound_file.uri) + root, ext = os.path.splitext(u.path) + + root = sound_file.base_path + basename, ext = os.path.splitext(urllib.unquote(sound_file.filename)) + + # make sure basename contains only the filename + basefolder, basename = os.path.split(basename) + + d = { + '.inputname': basename, + '.ext': ext, + '.target-ext': self.suffix[1:], + 'album': _('Unknown Album'), + 'artist': _('Unknown Artist'), + 'title': basename, + 'track-number': 0, + 'track-count': 0, + 'genre': '', + 'year': '', + 'date': '', + 'disc-number': 0, + 'disc-count': 0, + } + for key in sound_file.tags: + d[key] = sound_file.tags[key] + if isinstance(d[key], basestring): + # take care of tags containing slashes + d[key] = d[key].replace('/', '-') + + # add timestamp to substitution dict -- this could be split into more + # entries for more fine-grained control over the string by the user... + timestamp_string = time.strftime('%Y%m%d_%H_%M_%S') + d['timestamp'] = timestamp_string + + pattern = os.path.join(self.subfolders, self.basename + self.suffix) + result = pattern % d + + if self.replace_messy_chars: + # convert to unicode object to manage filename letter by letter + if not isinstance(result, unicode): + result = unicode(result, 'utf-8', 'replace') + + for char in self.bad_chars: + result = result.replace(char, '_') + + # convert back to string so that urllib could cope with it + if isinstance(result, unicode): + result = result.encode('utf-8') + + if self.folder is None: + folder = root + else: + folder = urllib.quote(self.folder, '/:%@') + + if '/' in pattern: + # we are creating folders using tags, disable basefolder handling + basefolder = '' + + result = os.path.join(folder, basefolder, urllib.quote(result)) + + return result diff --git a/soundconverter/notify.py b/soundconverter/notify.py new file mode 100644 index 0000000..4a1725e --- /dev/null +++ b/soundconverter/notify.py @@ -0,0 +1,44 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# SoundConverter - GNOME application for converting between audio formats. +# Copyright 2004 Lars Wirzenius +# Copyright 2005-2012 Gautier Portet +# +# 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; version 3 of the License. +# +# 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 + + +def _notification_dummy(message): + pass + + +notification = _notification_dummy + +try: + import pynotify + + + def _notification(message): + try: + n = pynotify.Notification('SoundConverter', message) + n.show() + except: + pass + + if pynotify.init('Basics'): + notification = _notification + +except ImportError: + pass diff --git a/soundconverter/queue.py b/soundconverter/queue.py new file mode 100644 index 0000000..d0727e9 --- /dev/null +++ b/soundconverter/queue.py @@ -0,0 +1,133 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# SoundConverter - GNOME application for converting between audio formats. +# Copyright 2004 Lars Wirzenius +# Copyright 2005-2012 Gautier Portet +# +# 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; version 3 of the License. +# +# 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 + +import time +from task import BackgroundTask +from settings import settings +from utils import log + + +class TaskQueue(BackgroundTask): + + """A queue of tasks. + + A task queue is a queue of other tasks. If you need, for example, to + do simple tasks A, B, and C, you can create a TaskQueue and add the + simple tasks to it: + + q = TaskQueue() + q.add_task(A) + q.add_task(B) + q.add_task(C) + q.start() + + The task queue behaves as a single task. It will execute the + tasks in order and start the next one when the previous finishes.""" + + def __init__(self): + BackgroundTask.__init__(self) + self.waiting_tasks = [] + self.running_tasks = [] + self.finished_tasks = 0 + self.start_time = None + self.count = 0 + self.paused = False + + def add_task(self, task): + """Add a task to the queue.""" + self.waiting_tasks.append(task) + #if self.start_time and not self.running_tasks: + if self.start_time: + # add a task to a stalled taskqueue, shake it! + self.start_next_task() + + def start_next_task(self): + if not self.waiting_tasks: + if not self.running_tasks: + self.done() + return + + to_start = settings['jobs'] - len(self.running_tasks) + for i in range(to_start): + try: + task = self.waiting_tasks.pop(0) + except IndexError: + return + self.running_tasks.append(task) + task.add_listener('finished', self.task_finished) + task.start() + if self.paused: + task.toggle_pause(True) + self.count += 1 + total = len(self.waiting_tasks) + self.finished_tasks + self.progress = float(self.finished_tasks) / total if total else 0 + + def started(self): + """ BackgroundTask setup callback """ + log('Queue start: %d tasks, %d thread(s).' % ( + len(self.waiting_tasks) + len(self.running_tasks), + settings['jobs'])) + self.count = 0 + self.paused = False + self.finished_tasks = 0 + self.start_time = time.time() + self.start_next_task() + + def finished(self): + """ BackgroundTask finish callback """ + log('Queue done in %.3fs (%s tasks)' % (time.time() - self.start_time, + self.count)) + self.queue_ended() + self.count = 0 + self.start_time = None + self.running_tasks = [] + self.waiting_tasks = [] + self.running = False + + def task_finished(self, task=None): + if not self.running_tasks: + return + if task in self.running_tasks: + self.running_tasks.remove(task) + self.finished_tasks += 1 + self.start_next_task() + + def abort(self): + for task in self.running_tasks: + task.abort() + BackgroundTask.abort(self) + self.running_tasks = [] + self.waiting_tasks = [] + self.running = False + self.start_time = None + + def toggle_pause(self, paused): + self.paused = paused + for task in self.running_tasks: + task.toggle_pause(self.paused) + + # The following is called when the Queue is finished + def queue_ended(self): + pass + + # The following when progress changed + def progress_hook(self, progress): + pass diff --git a/soundconverter/settings.py b/soundconverter/settings.py new file mode 100644 index 0000000..d6cb3ff --- /dev/null +++ b/soundconverter/settings.py @@ -0,0 +1,131 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# SoundConverter - GNOME application for converting between audio formats. +# Copyright 2004 Lars Wirzenius +# Copyright 2005-2012 Gautier Portet +# +# 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; version 3 of the License. +# +# 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 + +from gettext import gettext as _ + +# add here any format you want to be read +mime_whitelist = ( + 'audio/', + 'video/', + 'application/ogg', + 'application/x-id3', + 'application/x-ape', + 'application/vnd.rn-realmedia', + 'application/x-pn-realaudio', + 'application/x-shockwave-flash', + 'application/x-3gp', +) + +filename_blacklist = ( + '*.iso', +) + +# TODO: remove locale patterns... + +# custom filename patterns +english_patterns = 'Artist Album Title Track Total Genre Date Year Timestamp DiscNumber DiscTotal Ext' + +# traductors: These are the custom filename patterns. Only if it makes sense. +locale_patterns = _('Artist Album Title Track Total Genre Date Year Timestamp DiscNumber DiscTotal Ext') + +patterns_formats = ( + '%(artist)s', + '%(album)s', + '%(title)s', + '%(track-number)02d', + '%(track-count)02d', + '%(genre)s', + '%(date)s', + '%(year)s', + '%(timestamp)s', + '%(disc-number)d', + '%(disc-count)d', + '%(.target-ext)s', +) + +# add english and locale +custom_patterns = english_patterns + ' ' + locale_patterns +# convert to list +custom_patterns = ['{%s}' % p for p in custom_patterns.split()] +# and finally to dict, thus removing doubles +custom_patterns = dict(zip(custom_patterns, patterns_formats * 2)) + +locale_patterns_dict = dict(zip( + [p.lower() for p in english_patterns.split()], + ['{%s}' % p for p in locale_patterns.split()])) + +# add here the formats not containing tags +# not to bother searching in them +tag_blacklist = ( + 'audio/x-wav', +) + + +# Name and pattern for CustomFileChooser +filepattern = ( + (_('All files'), '*.*'), + ('MP3', '*.mp3'), + ('Ogg Vorbis', '*.ogg;*.oga'), + ('iTunes AAC ', '*.m4a'), + ('Windows WAV', '*.wav'), + ('AAC', '*.aac'), + ('FLAC', '*.flac'), + ('AC3', '*.ac3') +) + + +def cpu_count(): + ''' + Returns the number of CPUs in the system. + (from pyprocessing) + ''' + import sys + import os + if sys.platform == 'win32': + try: + num = int(os.environ['NUMBER_OF_PROCESSORS']) + except (ValueError, KeyError): + num = 0 + elif sys.platform == 'darwin': + try: + num = int(os.popen('sysctl -n hw.ncpu').read()) + except ValueError: + num = 0 + else: + try: + num = os.sysconf('SC_NPROCESSORS_ONLN') + except (ValueError, OSError, AttributeError): + num = 0 + if num >= 1: + return num + else: + return 1 + +# application-wide settings +settings = { + 'mode': 'gui', + 'quiet': False, + 'debug': False, + 'cli-output-type': 'audio/x-vorbis', + 'cli-output-suffix': '.ogg', + 'jobs': cpu_count(), + 'max-jobs': cpu_count(), +} diff --git a/soundconverter/soundfile.py b/soundconverter/soundfile.py new file mode 100644 index 0000000..d196d29 --- /dev/null +++ b/soundconverter/soundfile.py @@ -0,0 +1,62 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# SoundConverter - GNOME application for converting between audio formats. +# Copyright 2004 Lars Wirzenius +# Copyright 2005-2012 Gautier Portet +# +# 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; version 3 of the License. +# +# 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 + +import os +import gobject + +from fileoperations import unquote_filename + + +class SoundFile: + """Meta data information about a sound file (uri, tags).""" + __slots__ = ['uri','base_path','filename','tags','tags_read','duration','mime_type'] + + def __init__(self, uri, base_path=None): + """ + Create a SoundFile object. + if base_path is set, the uri is cut in two parts, + - the base folder + - the remaining folder+filename. + """ + + self.uri = uri + + if base_path: + self.base_path = base_path + self.filename = self.uri[len(self.base_path):] + else: + self.base_path, self.filename = os.path.split(self.uri) + self.base_path += '/' + + self.tags = {} + self.tags_read = False + self.duration = None + self.mime_type = None + + @property + def filename_for_display(self): + """ + Returns the filename in a suitable for display form. + """ + return gobject.filename_display_name( + unquote_filename(self.filename)) + + diff --git a/soundconverter/task.py b/soundconverter/task.py new file mode 100644 index 0000000..af7abc2 --- /dev/null +++ b/soundconverter/task.py @@ -0,0 +1,93 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# SoundConverter - GNOME application for converting between audio formats. +# Copyright 2004 Lars Wirzenius +# Copyright 2005-2012 Gautier Portet +# +# 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; version 3 of the License. +# +# 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 + +import time +import gobject + + +class BackgroundTask: + + """A background task. + + To use: derive a subclass and define the methods started, and + finished. Then call the start() method when you want to start the task. + You must call done() when the processing is finished. + Call the abort() method if you want to stop the task before it finishes + normally.""" + + def __init__(self): + self.running = False + self.listeners = {} + self.progress = None + + def start(self): + """Start running the task. Call started().""" + self.emit('started') + self.running = True + self.run_start_time = time.time() + + def add_listener(self, signal, listener): + """Add a custom listener to the given signal. + Signals are 'started' and 'finished'""" + if signal not in self.listeners: + self.listeners[signal] = [] + self.listeners[signal].append(listener) + + def emit(self, signal): + """Call the signal handlers. + Callbacks are called as gtk idle funcs to be sure + they are in the main thread.""" + gobject.idle_add(getattr(self, signal)) + if signal in self.listeners: + for listener in self.listeners[signal]: + gobject.idle_add(listener, self) + + def emit_sync(self, signal): + """Call the signal handlers. + Callbacks are called synchronously.""" + getattr(self, signal)() + if signal in self.listeners: + for listener in self.listeners[signal]: + listener(self) + + def done(self): + """Call to end normally the task.""" + self.run_finish_time = time.time() + if self.running: + self.emit_sync('finished') + self.running = False + + def abort(self): + """Stop task processing. finished() is not called.""" + self.emit('aborted') + self.running = False + + def aborted(self): + """Called when the task is aborted.""" + pass + + def started(self): + """Called when the task starts.""" + pass + + def finished(self): + """Clean up the task after all work has been done.""" + pass diff --git a/soundconverter/ui.py b/soundconverter/ui.py new file mode 100644 index 0000000..dbedefd --- /dev/null +++ b/soundconverter/ui.py @@ -0,0 +1,1509 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# SoundConverter - GNOME application for converting between audio formats. +# Copyright 2004 Lars Wirzenius +# Copyright 2005-2012 Gautier Portet +# +# 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; version 3 of the License. +# +# 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 + +import os +from os.path import basename, dirname +import time +import sys +import gtk +import gobject +import gnome +import gnomevfs +import urllib +from gettext import gettext as _ + +from gconfstore import GConfStore +from fileoperations import filename_to_uri, beautify_uri +from fileoperations import unquote_filename, vfs_walk +from fileoperations import use_gnomevfs +from gstreamer import ConverterQueue +from gstreamer import available_elements, TypeFinder, TagReader +from gstreamer import audio_profiles_list, audio_profiles_dict +from soundfile import SoundFile +from settings import locale_patterns_dict, custom_patterns, filepattern, settings +from namegenerator import TargetNameGenerator +from queue import TaskQueue +from utils import log, debug +from messagearea import MessageArea +from error import show_error + +# Names of columns in the file list +MODEL = [ gobject.TYPE_STRING, # visible filename + gobject.TYPE_PYOBJECT, # soundfile + gobject.TYPE_FLOAT, # progress + gobject.TYPE_STRING, # status + gobject.TYPE_STRING, # complete filename + ] + +COLUMNS = ['filename'] + +#VISIBLE_COLUMNS = ['filename'] +#ALL_COLUMNS = VISIBLE_COLUMNS + ['META'] + +MP3_CBR, MP3_ABR, MP3_VBR = range(3) + + +def gtk_iteration(): + while gtk.events_pending(): + gtk.main_iteration(False) + + +def gtk_sleep(duration): + start = time.time() + while time.time() < start + duration: + time.sleep(0.010) + gtk_iteration() + + +class ErrorDialog: + + def __init__(self, builder): + self.dialog = builder.get_object('error_dialog') + self.dialog.set_transient_for(builder.get_object('window')) + self.primary = builder.get_object('primary_error_label') + self.secondary = builder.get_object('secondary_error_label') + + def show_error(self, primary, secondary): + self.primary.set_markup(primary) + self.secondary.set_markup(secondary) + try: + sys.stderr.write(_('\nError: %s\n%s\n') % (primary, secondary)) + except: + pass + self.dialog.run() + self.dialog.hide() + + +class MsgAreaErrorDialog_: + + def __init__(self, builder): + self.dialog = builder.get_object('error_frame') + self.primary = builder.get_object('label_error') + + def show_error(self, primary, secondary): + try: + sys.stderr.write(_('\nError: %s\n%s\n') % (primary, secondary)) + except: + pass + #self.msg_area.set_text_and_icon(gtk.STOCK_DIALOG_ERROR, primary, secondary) + #self.msg_area.show() + self.primary.set_text(primary) + self.dialog.show() + + + def show_exception(self, exception): + self.show('<b>%s</b>' % gobject.markup_escape_text(exception.primary), + exception.secondary) + + +class FileList: + """List of files added by the user.""" + + # List of MIME types which we accept for drops. + drop_mime_types = ['text/uri-list', 'text/plain', 'STRING'] + + def __init__(self, window, builder): + self.window = window + self.typefinders = TaskQueue() + self.filelist = set() + + self.model = apply(gtk.ListStore, MODEL) + + self.widget = builder.get_object('filelist') + self.sortedmodel = gtk.TreeModelSort(self.model) + self.widget.set_model(self.sortedmodel) + self.sortedmodel.set_sort_column_id(4, gtk.SORT_ASCENDING) + self.widget.get_selection().set_mode(gtk.SELECTION_MULTIPLE) + + self.widget.drag_dest_set(gtk.DEST_DEFAULT_ALL, + map(lambda i: + (self.drop_mime_types[i], 0, i), + range(len(self.drop_mime_types))), + gtk.gdk.ACTION_COPY) + self.widget.connect('drag_data_received', self.drag_data_received) + + renderer = gtk.CellRendererProgress() + column = gtk.TreeViewColumn('progress', + renderer, + value=2, + text=3, + ) + self.widget.append_column(column) + self.progress_column = column + self.progress_column.set_visible(False) + + renderer = gtk.CellRendererText() + import pango + renderer.set_property('ellipsize', pango.ELLIPSIZE_MIDDLE) + column = gtk.TreeViewColumn('Filename', + renderer, + markup=0, + ) + column.set_expand(True) + self.widget.append_column(column) + + self.window.progressbarstatus.hide() + + self.waiting_files = [] + # add files to filelist in batches. Much faster, and suffisant. + gobject.timeout_add(100, self.commit_waiting_files) + self.waiting_files_last = 0 + + def drag_data_received(self, widget, context, x, y, selection, + mime_id, time): + widget.stop_emission('drag_data_received') + if mime_id >= 0 and mime_id < len(self.drop_mime_types): + self.add_uris([uri.strip() for uri in selection.data.split('\n')]) + context.finish(True, False, time) + + def get_files(self): + return [i[1] for i in self.sortedmodel] + + def update_progress(self, queue): + if queue.running: + progress = queue.progress if queue.progress else 0 + self.window.progressbarstatus.set_fraction(progress) + return True + return False + + def found_type(self, sound_file, mime): + debug('found_type', sound_file.filename) + + self.append_file(sound_file) + self.window.set_sensitive() + + def add_uris(self, uris, base=None, extensions=None): + files = [] + self.window.set_status(_('Scanning files...')) + + base = None + + for uri in uris: + if not uri: + continue + if uri.startswith('cdda:'): + show_error('Cannot read from Audio CD.', + 'Use SoundJuicer Audio CD Extractor instead.') + return + try: + info = gnomevfs.get_file_info(gnomevfs.URI(uri), + gnomevfs.FILE_INFO_FOLLOW_LINKS) + except gnomevfs.NotFoundError: + log('uri not found: \'%s\'' % uri) + continue + except gnomevfs.InvalidURIError: + log('invalid uri: \'%s\'' % uri) + continue + except gnomevfs.AccessDeniedError: + log('access denied: \'%s\'' % uri) + continue + except TypeError, e: + log('add error: %s (\'%s\')' % (e, uri)) + continue + except: + log('error in get_file_info: %s' % (uri)) + continue + + if info.type == gnomevfs.FILE_TYPE_DIRECTORY: + log('walking: \'%s\'' % uri) + if len(uris) == 1: + # if only one folder is passed to the function, + # use its parent as base path. + base = os.path.dirname(uri) + filelist = vfs_walk(gnomevfs.URI(uri)) + accepted = [] + if extensions: + for f in filelist: + for extension in extensions: + if f.lower().endswith(extension): + accepted.append(f) + filelist = accepted + files.extend(filelist) + else: + files.append(uri) + + files = [f for f in files if not f.endswith('~SC~')] + + if not base: + base = os.path.commonprefix(files) + if base and not base.endswith('/'): + # we want a common folder + base = base[0:base.rfind('/')] + base += '/' + else: + base += '/' + + for f in files: + sound_file = SoundFile(f, base) + if sound_file.uri in self.filelist: + log('file already present: \'%s\'' % sound_file.uri) + continue + + typefinder = TypeFinder(sound_file) + typefinder.set_found_type_hook(self.found_type) + self.typefinders.add_task(typefinder) + + for i in self.model: + i[0] = self.format_cell(i[1]) + + if files and not self.typefinders.running: + self.window.progressbarstatus.show() + self.typefinders.queue_ended = self.typefinder_queue_ended + self.typefinders.start() + gobject.timeout_add(100, self.update_progress, self.typefinders) + else: + self.window.set_status() + + def typefinder_queue_ended(self): + if not self.waiting_files: + self.window.set_status() + self.window.progressbarstatus.hide() + + def abort(self): + self.typefinders.abort() + + def format_cell(self, sound_file): + return '%s' % gobject.markup_escape_text(unquote_filename( + sound_file.filename)) + + def set_row_progress(self, number, progress=None, text=None): + self.progress_column.set_visible(True) + if progress is not None: + if self.model[number][2] == 1.0: + return # already... + self.model[number][2] = progress * 100.0 + if text is not None: + self.model[number][3] = text + + def hide_row_progress(self): + self.progress_column.set_visible(False) + + def append_file(self, sound_file): + self.waiting_files.append(sound_file) + + def commit_waiting_files(self): + if self.waiting_files_last != len(self.waiting_files): + # still adding files + self.waiting_files_last = len(self.waiting_files) + return True + + if self.waiting_files: + self.window.set_status(_('Adding files...')) + save = self.widget.get_model() + self.widget.set_model(None) + n = 0.0 + next = time.time() + while self.waiting_files: + self._append_file(self.waiting_files.pop()) + n += 1 + if time.time() > next: + # keep UI responsive + gtk_iteration() + self.window.progressbarstatus.set_fraction(n/self.waiting_files_last) + next = time.time() + 0.01 + self.widget.set_model(save) + + self.window.set_status() + self.window.progressbarstatus.hide() + return True + + def _append_file(self, sound_file): + self.model.append([self.format_cell(sound_file), sound_file, 0.0, '', + sound_file.uri]) + self.filelist.add(sound_file.uri) + sound_file.filelist_row = len(self.model) - 1 + + def remove(self, iter): + uri = self.model.get(iter, 1)[0].uri + self.filelist.remove(uri) + self.model.remove(iter) + + def is_nonempty(self): + try: + self.model.get_iter((0,)) + except ValueError: + return False + return True + + +class GladeWindow(object): + + callbacks = {} + builder = None + + def __init__(self, builder): + ''' + Init GladeWindow, stores the objects's potential callbacks for later. + You have to call connect_signals() when all descendants are ready.''' + GladeWindow.builder = builder + GladeWindow.callbacks.update(dict([[x, getattr(self, x)] + for x in dir(self) if x.startswith('on_')])) + + def __getattr__(self, attribute): + '''Allow direct use of window widget.''' + widget = GladeWindow.builder.get_object(attribute) + if widget is None: + raise AttributeError('Widget \'%s\' not found' % attribute) + self.__dict__[attribute] = widget # cache result + return widget + + @staticmethod + def connect_signals(): + '''Connect all GladeWindow objects to theirs respective signals''' + GladeWindow.builder.connect_signals(GladeWindow.callbacks) + + +class PreferencesDialog(GladeWindow, GConfStore): + + basename_patterns = [ + ('%(.inputname)s', _('Same as input, but replacing the suffix')), + ('%(.inputname)s%(.ext)s', + _('Same as input, but with an additional suffix')), + ('%(track-number)02d-%(title)s', _('Track number - title')), + ('%(title)s', _('Track title')), + ('%(artist)s-%(title)s', _('Artist - title')), + ('Custom', _('Custom filename pattern')), + ] + + subfolder_patterns = [ + ('%(artist)s/%(album)s', _('artist/album')), + ('%(artist)s-%(album)s', _('artist-album')), + ('%(artist)s - %(album)s', _('artist - album')), + ] + + defaults = { + 'same-folder-as-input': 1, + 'selected-folder': os.path.expanduser('~'), + 'create-subfolders': 0, + 'subfolder-pattern-index': 0, + 'name-pattern-index': 0, + 'custom-filename-pattern': '{Track} - {Title}', + 'replace-messy-chars': 0, + 'output-mime-type': 'audio/x-vorbis', + 'output-suffix': '.ogg', + 'vorbis-quality': 0.6, + 'vorbis-oga-extension': 0, + 'mp3-mode': 'vbr', + 'mp3-cbr-quality': 192, + 'mp3-abr-quality': 192, + 'mp3-vbr-quality': 3, + 'aac-quality': 192, + 'opus-bitrate': 96, + 'flac-compression': 8, + 'wav-sample-width': 16, + 'delete-original': 0, + 'output-resample': 0, + 'resample-rate': 48000, + 'flac-speed': 0, # TODO used ? + 'force-mono': 0, + 'last-used-folder': None, + 'audio-profile': None, + 'limit-jobs': 0, + 'number-of-jobs': 1, + } + + sensitive_names = ['vorbis_quality', 'choose_folder', 'create_subfolders', + 'subfolder_pattern', 'jobs_spinbutton', 'resample_hbox', + 'force_mono'] + + def __init__(self, builder, parent): + GladeWindow.__init__(self, builder) + GConfStore.__init__(self, '/apps/SoundConverter', self.defaults) + + self.dialog = builder.get_object('prefsdialog') + self.dialog.set_transient_for(parent) + self.example = builder.get_object('example_filename') + self.force_mono = builder.get_object('force_mono') + + self.target_bitrate = None + self.convert_setting_from_old_version() + + self.sensitive_widgets = {} + for name in self.sensitive_names: + self.sensitive_widgets[name] = builder.get_object(name) + assert self.sensitive_widgets[name] is not None + self.set_widget_initial_values(builder) + self.set_sensitive() + + tip = [_('Available patterns:')] + for k in sorted(locale_patterns_dict.values()): + tip.append(k) + self.custom_filename.set_tooltip_text('\n'.join(tip)) + + #self.resample_rate.connect('changed', self._on_resample_rate_changed) + + def convert_setting_from_old_version(self): + """ try to convert previous settings""" + + # vorbis quality was once stored as an int enum + try: + self.get_float('vorbis-quality') + except gobject.GError: + log('deleting old settings...') + [self.gconf.unset(self.path(k)) for k in self.defaults.keys()] + + self.gconf.clear_cache() + + def set_widget_initial_values(self, builder): + + self.quality_tabs.set_show_tabs(False) + + if self.get_int('same-folder-as-input'): + w = self.same_folder_as_input + else: + w = self.into_selected_folder + w.set_active(True) + + uri = filename_to_uri(self.get_string('selected-folder')) + self.target_folder_chooser.set_uri(uri) + self.update_selected_folder() + + w = self.create_subfolders + w.set_active(self.get_int('create-subfolders')) + + w = self.subfolder_pattern + active = self.get_int('subfolder-pattern-index') + model = w.get_model() + model.clear() + for pattern, desc in self.subfolder_patterns: + i = model.append() + model.set(i, 0, desc) + w.set_active(active) + + if self.get_int('replace-messy-chars'): + w = self.replace_messy_chars + w.set_active(True) + + if self.get_int('delete-original'): + self.delete_original.set_active(True) + + mime_type = self.get_string('output-mime-type') + + widgets = ( ('audio/x-vorbis', 'vorbisenc'), + ('audio/mpeg' , 'lame'), + ('audio/x-flac' , 'flacenc'), + ('audio/x-wav' , 'wavenc'), + ('audio/x-m4a' , 'faac'), + ('audio/ogg; codecs=opus' , 'opusenc'), + ('gst-profile' , None), + ) # must be in same order in output_mime_type + + # desactivate output if encoder plugin is not present + widget = self.output_mime_type + model = widget.get_model() + assert len(model) == len(widgets), 'model:%d widgets:%d' % (len(model), + len(widgets)) + + if not self.gstprofile.get_model().get_n_columns(): + self.gstprofile.set_model(gtk.ListStore(str)) + cell = gtk.CellRendererText() + self.gstprofile.pack_start(cell) + self.gstprofile.add_attribute(cell,'text',0) + self.gstprofile.set_active(0) + + # check if we can found the stored audio profile + found_profile = False + stored_profile = self.get_string('audio-profile') + for i, profile in enumerate(audio_profiles_list): + description, extension, pipeline = profile + self.gstprofile.get_model().append(['%s (.%s)' % (description, extension)]) + if description == stored_profile: + self.gstprofile.set_active(i) + found_profile = True + if not found_profile and stored_profile: + # reset default output + log('Cannot find audio profile "%s", resetting to default output.' + % stored_profile) + self.set_string('audio-profile', '') + self.gstprofile.set_active(0) + mime_type = self.defaults['output-mime-type'] + + self.present_mime_types = [] + i = 0 + model = self.output_mime_type.get_model() + for b in widgets: + mime, encoder_name = b + # valid encoder? + encoder_present = encoder_name and encoder_name in available_elements + # valid profile? + profile_present = mime == 'gst-profile' and audio_profiles_list + if encoder_present or profile_present: + # add to supported outputs + self.present_mime_types.append(mime) + i += 1 + else: + # remove it. + del model[i] + if mime_type == mime: + mime_type = self.defaults['output-mime-type'] + for i, mime in enumerate(self.present_mime_types): + if mime_type == mime: + widget.set_active(i) + self.change_mime_type(mime_type) + + # display information about mp3 encoding + if 'lame' not in available_elements: + w = self.lame_absent + w.show() + + w = self.vorbis_quality + quality = self.get_float('vorbis-quality') + quality_setting = {0: 0, 0.2: 1, 0.4: 2, 0.6: 3, 0.8: 4, 1.0: 5} + w.set_active(-1) + for k, v in quality_setting.iteritems(): + if abs(quality - k) < 0.01: + self.vorbis_quality.set_active(v) + if self.get_int('vorbis-oga-extension'): + self.vorbis_oga_extension.set_active(True) + + w = self.aac_quality + quality = self.get_int('aac-quality') + quality_setting = {64: 0, 96: 1, 128: 2, 192: 3, 256: 4, 320: 5} + w.set_active(quality_setting.get(quality, -1)) + + w = self.opus_quality + quality = self.get_int('opus-bitrate') + quality_setting = {48: 0, 64: 1, 96: 2, 128: 3, 160: 4, 192: 5} + w.set_active(quality_setting.get(quality, -1)) + + w = self.flac_compression + quality = self.get_int('flac-compression') + quality_setting = {0: 0, 5: 1, 8: 2} + w.set_active(quality_setting.get(quality, -1)) + + w = self.wav_sample_width + quality = self.get_int('wav-sample-width') + quality_setting = {8: 0, 16: 1, 32: 2} + w.set_active(quality_setting.get(quality, -1)) + + self.mp3_quality = self.mp3_quality + self.mp3_mode = self.mp3_mode + + mode = self.get_string('mp3-mode') + self.change_mp3_mode(mode) + + w = self.basename_pattern + active = self.get_int('name-pattern-index') + model = w.get_model() + model.clear() + for pattern, desc in self.basename_patterns: + iter = model.append() + model.set(iter, 0, desc) + w.set_active(active) + + self.custom_filename.set_text(self.get_string( + 'custom-filename-pattern')) + if self.basename_pattern.get_active() == len(self.basename_patterns)-1: + self.custom_filename_box.set_sensitive(True) + else: + self.custom_filename_box.set_sensitive(False) + + + self.resample_toggle.set_active(self.get_int('output-resample')) + + cell = gtk.CellRendererText() + self.resample_rate.pack_start(cell, True) + self.resample_rate.add_attribute(cell, 'text', 0) + rates = [8000, 11025, 22050, 44100, 48000, 96000] + rate = self.get_int('resample-rate') + try: + idx = rates.index(rate) + except ValueError: + idx = -1 + self.resample_rate.set_active(idx) + + self.force_mono.set_active(self.get_int('force-mono')) + + self.jobs.set_active(self.get_int('limit-jobs')) + self.jobs_spinbutton.set_value(self.get_int('number-of-jobs')) + + self.update_jobs() + self.update_example() + + def update_selected_folder(self): + self.into_selected_folder.set_use_underline(False) + self.into_selected_folder.set_label(_('Into folder %s') % + beautify_uri(self.get_string('selected-folder'))) + + def get_bitrate_from_settings(self): + bitrate = 0 + aprox = True + mode = self.get_string('mp3-mode') + + mime_type = self.get_string('output-mime-type') + + if mime_type == 'audio/x-vorbis': + quality = self.get_float('vorbis-quality')*10 + quality = int(quality) + bitrates = (64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 500) + bitrate = bitrates[quality] + + elif mime_type == 'audio/x-m4a': + bitrate = self.get_int('aac-quality') + + elif mime_type == 'audio/ogg; codecs=opus': + bitrate = self.get_int('opus-bitrate') + + elif mime_type == 'audio/mpeg': + quality = { + 'cbr': 'mp3-cbr-quality', + 'abr': 'mp3-abr-quality', + 'vbr': 'mp3-vbr-quality' + } + bitrate = self.get_int(quality[mode]) + if mode == 'vbr': + # hum, not really, but who cares? :) + bitrates = (320, 256, 224, 192, 160, 128, 112, 96, 80, 64) + bitrate = bitrates[bitrate] + if mode == 'cbr': + aprox = False + + if bitrate: + if aprox: + return '~%d kbps' % bitrate + else: + return '%d kbps' % bitrate + else: + return 'N/A' + + def update_example(self): + sound_file = SoundFile('foo/bar.flac') + sound_file.tags.update({'track-number': 1, 'track-count': 99}) + sound_file.tags.update({'disc-number': 2, 'disc-count': 9}) + sound_file.tags.update(locale_patterns_dict) + + s = gobject.markup_escape_text(beautify_uri( + self.generate_filename(sound_file, for_display=True))) + p = 0 + replaces = [] + + while 1: + b = s.find('{', p) + if b == -1: + break + e = s.find('}', b) + + tag = s[b:e+1] + if tag.lower() in [ + v.lower() for v in locale_patterns_dict.values()]: + k = tag + l = k.replace('{', '<b>{') + l = l.replace('}', '}</b>') + replaces.append([k, l]) + else: + k = tag + l = k.replace('{', '<span foreground=\'red\'><i>{') + l = l.replace('}', '}</i></span>') + replaces.append([k, l]) + p = b+1 + + for k, l in replaces: + s = s.replace(k, l) + + self.example.set_markup(s) + + markup = '<small>%s</small>' % (_('Target bitrate: %s') % + self.get_bitrate_from_settings()) + self.aprox_bitrate.set_markup(markup) + + def get_output_suffix(self): + self.gconf.clear_cache() + output_type = self.get_string('output-mime-type') + profile = self.get_string('audio-profile') + profile_ext = audio_profiles_dict[profile][1] if profile else '' + output_suffix = { + 'audio/x-vorbis': '.ogg', + 'audio/x-flac': '.flac', + 'audio/x-wav': '.wav', + 'audio/mpeg': '.mp3', + 'audio/x-m4a': '.m4a', + 'audio/ogg; codecs=opus': '.opus', + 'gst-profile': '.' + profile_ext, + }.get(output_type, '.?') + if output_suffix == '.ogg' and self.get_int('vorbis-oga-extension'): + output_suffix = '.oga' + return output_suffix + + def generate_filename(self, sound_file, for_display=False): + generator = TargetNameGenerator() + generator.suffix = self.get_output_suffix() + + if not self.get_int('same-folder-as-input'): + folder = self.get_string('selected-folder') + folder = filename_to_uri(folder) + generator.folder = folder + + if self.get_int('create-subfolders'): + generator.subfolders = self.get_subfolder_pattern() + + generator.basename = self.get_basename_pattern() + + if for_display: + generator.replace_messy_chars = False + return unquote_filename(generator.get_target_name(sound_file)) + else: + generator.replace_messy_chars = self.get_int('replace-messy-chars') + return generator.get_target_name(sound_file) + + def generate_temp_filename(self, soundfile): + folder = dirname(soundfile.uri) + if not self.get_int('same-folder-as-input'): + folder = self.get_string('selected-folder') + folder = filename_to_uri(folder) + return folder + '/' + basename(soundfile.filename) + + def process_custom_pattern(self, pattern): + for k in custom_patterns: + pattern = pattern.replace(k, custom_patterns[k]) + return pattern + + def set_sensitive(self): + for widget in self.sensitive_widgets.values(): + widget.set_sensitive(False) + + x = self.get_int('same-folder-as-input') + for name in ['choose_folder', 'create_subfolders', + 'subfolder_pattern']: + self.sensitive_widgets[name].set_sensitive(not x) + + self.sensitive_widgets['vorbis_quality'].set_sensitive( + self.get_string('output-mime-type') == 'audio/x-vorbis') + + self.sensitive_widgets['jobs_spinbutton'].set_sensitive( + self.get_int('limit-jobs')) + + if self.get_string('output-mime-type') == 'gst-profile': + self.sensitive_widgets['resample_hbox'].set_sensitive(False) + self.sensitive_widgets['force_mono'].set_sensitive(False) + else: + self.sensitive_widgets['resample_hbox'].set_sensitive(True) + self.sensitive_widgets['force_mono'].set_sensitive(True) + + + def run(self): + self.dialog.run() + self.dialog.hide() + + def on_delete_original_toggled(self, button): + if button.get_active(): + self.set_int('delete-original', 1) + else: + self.set_int('delete-original', 0) + + def on_same_folder_as_input_toggled(self, button): + if button.get_active(): + self.set_int('same-folder-as-input', 1) + self.set_sensitive() + self.update_example() + + def on_into_selected_folder_toggled(self, button): + if button.get_active(): + self.set_int('same-folder-as-input', 0) + self.set_sensitive() + self.update_example() + + def on_choose_folder_clicked(self, button): + ret = self.target_folder_chooser.run() + folder = self.target_folder_chooser.get_uri() + self.target_folder_chooser.hide() + if ret == gtk.RESPONSE_OK: + if folder: + self.set_string('selected-folder', urllib.unquote(folder)) + self.update_selected_folder() + self.update_example() + + def on_create_subfolders_toggled(self, button): + if button.get_active(): + self.set_int('create-subfolders', 1) + else: + self.set_int('create-subfolders', 0) + self.update_example() + + def on_subfolder_pattern_changed(self, combobox): + self.set_int('subfolder-pattern-index', combobox.get_active()) + self.update_example() + + def get_subfolder_pattern(self): + index = self.get_int('subfolder-pattern-index') + if index < 0 or index >= len(self.subfolder_patterns): + index = 0 + return self.subfolder_patterns[index][0] + + def on_basename_pattern_changed(self, combobox): + self.set_int('name-pattern-index', combobox.get_active()) + if combobox.get_active() == len(self.basename_patterns)-1: + self.custom_filename_box.set_sensitive(True) + else: + self.custom_filename_box.set_sensitive(False) + self.update_example() + + def get_basename_pattern(self): + index = self.get_int('name-pattern-index') + if index < 0 or index >= len(self.basename_patterns): + index = 0 + if self.basename_pattern.get_active() == len(self.basename_patterns)-1: + return self.process_custom_pattern(self.custom_filename.get_text()) + else: + return self.basename_patterns[index][0] + + def on_custom_filename_changed(self, entry): + self.set_string('custom-filename-pattern', entry.get_text()) + self.update_example() + + def on_replace_messy_chars_toggled(self, button): + if button.get_active(): + self.set_int('replace-messy-chars', 1) + else: + self.set_int('replace-messy-chars', 0) + self.update_example() + + def change_mime_type(self, mime_type): + self.set_string('output-mime-type', mime_type) + self.set_sensitive() + self.update_example() + tabs = { + 'audio/x-vorbis': 0, + 'audio/mpeg': 1, + 'audio/x-flac': 2, + 'audio/x-wav': 3, + 'audio/x-m4a': 4, + 'audio/ogg; codecs=opus': 5, + 'gst-profile': 6, + } + self.quality_tabs.set_current_page(tabs[mime_type]) + + def on_output_mime_type_changed(self, combo): + self.change_mime_type( + self.present_mime_types[combo.get_active()] + ) + + def on_output_mime_type_ogg_vorbis_toggled(self, button): + if button.get_active(): + self.change_mime_type('audio/x-vorbis') + + def on_output_mime_type_flac_toggled(self, button): + if button.get_active(): + self.change_mime_type('audio/x-flac') + + def on_output_mime_type_wav_toggled(self, button): + if button.get_active(): + self.change_mime_type('audio/x-wav') + + def on_output_mime_type_mp3_toggled(self, button): + if button.get_active(): + self.change_mime_type('audio/mpeg') + + def on_output_mime_type_aac_toggled(self, button): + if button.get_active(): + self.change_mime_type('audio/x-m4a') + + def on_output_mime_type_opus_toggled(self, button): + if button.get_active(): + self.change_mime_type('audio/ogg; codecs=opus') + + def on_vorbis_quality_changed(self, combobox): + if combobox.get_active() == -1: + return # just de-selectionning + quality = (0, 0.2, 0.4, 0.6, 0.8, 1.0) + fquality = quality[combobox.get_active()] + self.set_float('vorbis-quality', fquality) + self.hscale_vorbis_quality.set_value(fquality*10) + self.update_example() + + def on_hscale_vorbis_quality_value_changed(self, hscale): + fquality = hscale.get_value() + if abs(self.get_float('vorbis-quality') - fquality/10.0) < 0.001: + return # already at right value + self.set_float('vorbis-quality', fquality/10.0) + self.vorbis_quality.set_active(-1) + self.update_example() + + def on_vorbis_oga_extension_toggled(self, toggle): + self.set_int('vorbis-oga-extension', toggle.get_active()) + self.update_example() + + def on_aac_quality_changed(self, combobox): + quality = (64, 96, 128, 192, 256, 320) + self.set_int('aac-quality', quality[combobox.get_active()]) + self.update_example() + + def on_opus_quality_changed(self, combobox): + quality = (48, 64, 96, 128, 160, 192) + self.set_int('opus-bitrate', quality[combobox.get_active()]) + self.update_example() + + def on_wav_sample_width_changed(self, combobox): + quality = (8, 16, 32) + self.set_int('wav-sample-width', quality[combobox.get_active()]) + self.update_example() + + def on_flac_compression_changed(self, combobox): + quality = (0, 5, 8) + self.set_int('flac-compression', quality[combobox.get_active()]) + self.update_example() + + def on_gstprofile_changed(self, combobox): + profile = audio_profiles_list[combobox.get_active()] + description, extension, pipeline = profile + self.set_string('audio-profile', description) + self.update_example() + + def on_force_mono_toggle(self, button): + if button.get_active(): + self.set_int('force-mono', 1) + else: + self.set_int('force-mono', 0) + self.update_example() + + def change_mp3_mode(self, mode): + + keys = {'cbr': 0, 'abr': 1, 'vbr': 2} + self.mp3_mode.set_active(keys[mode]) + + keys = { + 'cbr': 'mp3-cbr-quality', + 'abr': 'mp3-abr-quality', + 'vbr': 'mp3-vbr-quality', + } + quality = self.get_int(keys[mode]) + + quality_to_preset = { + 'cbr': {64: 0, 96: 1, 128: 2, 192: 3, 256: 4, 320: 5}, + 'abr': {64: 0, 96: 1, 128: 2, 192: 3, 256: 4, 320: 5}, + 'vbr': {9: 0, 7: 1, 5: 2, 3: 3, 1: 4, 0: 5}, # inverted ! + } + + range_ = { + 'cbr': 14, + 'abr': 14, + 'vbr': 10, + } + self.hscale_mp3.set_range(0, range_[mode]) + + if quality in quality_to_preset[mode]: + self.mp3_quality.set_active(quality_to_preset[mode][quality]) + self.update_example() + + def on_mp3_mode_changed(self, combobox): + mode = ('cbr', 'abr', 'vbr')[combobox.get_active()] + self.set_string('mp3-mode', mode) + self.change_mp3_mode(mode) + + def on_mp3_quality_changed(self, combobox): + keys = { + 'cbr': 'mp3-cbr-quality', + 'abr': 'mp3-abr-quality', + 'vbr': 'mp3-vbr-quality' + } + quality = { + 'cbr': (64, 96, 128, 192, 256, 320), + 'abr': (64, 96, 128, 192, 256, 320), + 'vbr': (9, 7, 5, 3, 1, 0), + } + mode = self.get_string('mp3-mode') + self.set_int(keys[mode], quality[mode][combobox.get_active()]) + self.update_example() + + def on_hscale_mp3_value_changed(self, widget): + mode = self.get_string('mp3-mode') + keys = { + 'cbr': 'mp3-cbr-quality', + 'abr': 'mp3-abr-quality', + 'vbr': 'mp3-vbr-quality' + } + quality = { + 'cbr': (32, 40, 48, 56, 64, 80, 96, 112, + 128, 160, 192, 224, 256, 320), + 'abr': (32, 40, 48, 56, 64, 80, 96, 112, + 128, 160, 192, 224, 256, 320), + 'vbr': (9, 8, 7, 6, 5, 4, 3, 2, 1, 0), + } + self.set_int(keys[mode], quality[mode][int(widget.get_value())]) + self.mp3_quality.set_active(-1) + self.update_example() + + def on_resample_rate_changed(self, combobox): + model = combobox.get_model() + iter = combobox.get_active_iter() + changeto = model.get_value(iter, 0) + self.set_int('resample-rate', int(changeto)) + + def on_resample_toggle(self, rstoggle): + self.set_int('output-resample', rstoggle.get_active()) + self.resample_rate.set_sensitive(rstoggle.get_active()) + + def on_jobs_toggled(self, jtoggle): + self.set_int('limit-jobs', jtoggle.get_active()) + self.jobs_spinbutton.set_sensitive(jtoggle.get_active()) + self.update_jobs() + + def on_jobs_spinbutton_value_changed(self, jspinbutton): + self.set_int('number-of-jobs', int(jspinbutton.get_value())) + self.update_jobs() + + def update_jobs(self): + if self.get_int('limit-jobs'): + settings['jobs'] = self.get_int('number-of-jobs') + else: + settings['jobs'] = settings['max-jobs'] + self.set_sensitive() + + +class CustomFileChooser: + """ + Custom file chooser.\n + """ + + def __init__(self, builder, parent): + """ + Constructor + Load glade object, create a combobox + """ + self.dlg = builder.get_object('custom_file_chooser') + self.dlg.set_title(_('Open a file')) + self.dlg.set_transient_for(parent) + + # setup + self.fcw = builder.get_object('filechooserwidget') + self.fcw.set_local_only(not use_gnomevfs) + self.fcw.set_select_multiple(True) + + self.pattern = [] + + # Create combobox model + self.combo = builder.get_object('filtercombo') + self.combo.connect('changed', self.on_combo_changed) + self.store = gtk.ListStore(str) + self.combo.set_model(self.store) + combo_rend = gtk.CellRendererText() + self.combo.pack_start(combo_rend, True) + self.combo.add_attribute(combo_rend, 'text', 0) + + # TODO: get all (gstreamer) knew files + for name, pattern in filepattern: + self.add_pattern(name, pattern) + self.combo.set_active(0) + + def add_pattern(self, name, pat): + """ + Add a new pattern to the combobox. + @param name: The pattern name. + @type name: string + @param pat: the pattern + @type pat: string + """ + self.pattern.append(pat) + self.store.append(['%s (%s)' % (name, pat)]) + + def filter_cb(self, info, pattern): + filename = info[2] + return filename.lower().endswith(pattern[1:]) + + def on_combo_changed(self, w): + """ + Callback for combobox 'changed' signal\n + Set a new filter for the filechooserwidget + """ + filter = gtk.FileFilter() + active = self.combo.get_active() + if active: + filter.add_custom(gtk.FILE_FILTER_DISPLAY_NAME, self.filter_cb, + self.pattern[self.combo.get_active()]) + else: + filter.add_pattern('*.*') + self.fcw.set_filter(filter) + + def __getattr__(self, attr): + """ + Redirect all missing attributes/methods + to dialog. + """ + try: + # defaut to dialog attributes + return getattr(self.dlg, attr) + except AttributeError: + # fail back to inner file chooser widget + return getattr(self.fcw, attr) + +_old_progress = 0 +_old_total = 0 + +class SoundConverterWindow(GladeWindow): + + """Main application class.""" + + sensitive_names = ['remove', 'clearlist', + 'toolbutton_clearlist', 'convert_button'] + unsensitive_when_converting = ['remove', 'clearlist', 'prefs_button', + 'toolbutton_addfile', 'toolbutton_addfolder', 'convert_button', + 'toolbutton_clearlist', 'filelist', 'menubar'] + + def __init__(self, builder): + self.paused_time = 0 + GladeWindow.__init__(self, builder) + + self.widget = builder.get_object('window') + self.prefs = PreferencesDialog(builder, self.widget) + self.addchooser = CustomFileChooser(builder, self.widget) + GladeWindow.connect_signals() + + self.filelist = FileList(self, builder) + self.filelist_selection = self.filelist.widget.get_selection() + self.filelist_selection.connect('changed', self.selection_changed) + self.existsdialog = builder.get_object('existsdialog') + self.existsdialog.message = builder.get_object('exists_message') + self.existsdialog.apply_to_all = builder.get_object('apply_to_all') + + self.addfolderchooser = gtk.FileChooserDialog(_('Add Folder...'), + self.widget, gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER, + (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN, + gtk.RESPONSE_OK)) + self.addfolderchooser.set_select_multiple(True) + self.addfolderchooser.set_local_only(not use_gnomevfs) + + self.combo = gtk.ComboBox() + self.store = gtk.ListStore(str) + self.combo.set_model(self.store) + combo_rend = gtk.CellRendererText() + self.combo.pack_start(combo_rend, True) + self.combo.add_attribute(combo_rend, 'text', 0) + + # TODO: get all (gstreamer) knew files + for files in filepattern: + self.store.append(['%s (%s)' % (files[0], files[1])]) + + self.combo.set_active(0) + self.addfolderchooser.set_extra_widget(self.combo) + + self.aboutdialog.set_property('name', NAME) + self.aboutdialog.set_property('version', VERSION) + self.aboutdialog.set_transient_for(self.widget) + + self.converter = ConverterQueue(self) + + self.sensitive_widgets = {} + for name in self.sensitive_names: + self.sensitive_widgets[name] = builder.get_object(name) + for name in self.unsensitive_when_converting: + self.sensitive_widgets[name] = builder.get_object(name) + + self.set_sensitive() + self.set_status() + + + #msg = _('The output file <i>%s</i>\n exists already.\n '\ + # 'Do you want to skip the file, overwrite it or'\ + # ' cancel the conversion?\n') % '/foo/bar/baz' + vbox = self.vbox_status + self.msg_area = msg_area = MessageArea() + #msg_area.add_button('_Overwrite', 1) + #msg_area.add_button('_Skip', 2) + msg_area.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_CLOSE) + #checkbox = gtk.CheckButton('Apply to _all queue') + #checkbox.show() + #msg_area.set_text_and_icon(gtk.STOCK_DIALOG_ERROR, 'Access Denied', msg, checkbox) + + #msg_area.connect("response", self.OnMessageAreaReponse, msg_area) + #msg_area.connect("close", self.OnMessageAreaClose, msg_area) + vbox.pack_start(msg_area, False, False) + #msg_area.show() + + + + # This bit of code constructs a list of methods for binding to Gtk+ + # signals. This way, we don't have to maintain a list manually, + # saving editing effort. It's enough to add a method to the suitable + # class and give the same name in the .glade file. + + def __getattr__(self, attribute): + """Allow direct use of window widget.""" + widget = self.builder.get_object(attribute) + if widget is None: + raise AttributeError('Widget \'%s\' not found' % attribute) + self.__dict__[attribute] = widget # cache result + return widget + + def close(self, *args): + debug('closing...') + self.filelist.abort() + self.converter.abort() + self.widget.hide_all() + self.widget.destroy() + # wait one second... + # yes, this sucks badly, but signals can still be called by gstreamer + # so wait a bit for things to calm down, and quit. + gtk_sleep(1) + gtk.main_quit() + return True + + on_window_delete_event = close + on_quit_activate = close + on_quit_button_clicked = close + + def on_add_activate(self, *args): + last_folder = self.prefs.get_string('last-used-folder') + if last_folder: + self.addchooser.set_current_folder_uri(last_folder) + + ret = self.addchooser.run() + folder = self.addchooser.get_current_folder_uri() + self.addchooser.hide() + if ret == gtk.RESPONSE_OK and folder: + self.filelist.add_uris(self.addchooser.get_uris()) + self.prefs.set_string('last-used-folder', folder) + self.set_sensitive() + + def on_addfolder_activate(self, *args): + last_folder = self.prefs.get_string('last-used-folder') + if last_folder: + self.addfolderchooser.set_current_folder_uri(last_folder) + + ret = self.addfolderchooser.run() + folders = self.addfolderchooser.get_uris() + folder = self.addfolderchooser.get_current_folder_uri() + self.addfolderchooser.hide() + if ret == gtk.RESPONSE_OK: + extensions = None + if self.combo.get_active(): + patterns = filepattern[self.combo.get_active()][1].split(';') + extensions = [os.path.splitext(p)[1] for p in patterns] + self.filelist.add_uris(folders, extensions=extensions) + if folder: + self.prefs.set_string('last-used-folder', folder) + + self.set_sensitive() + + def on_remove_activate(self, *args): + model, paths = self.filelist_selection.get_selected_rows() + while paths: + # Remove files + childpath = model.convert_path_to_child_path(paths[0]) + i = self.filelist.model.get_iter(childpath) + self.filelist.remove(i) + model, paths = self.filelist_selection.get_selected_rows() + # re-assign row numbers + files = self.filelist.get_files() + for i, sound_file in enumerate(files): + sound_file.filelist_row = i + self.set_sensitive() + + def on_clearlist_activate(self, *args): + self.filelist.model.clear() + self.filelist.filelist.clear() + self.set_sensitive() + self.set_status() + + def on_progress(self): + if self.pulse_progress > 0: # still waiting for tags + self.set_progress(self.pulse_progress, display_time=False) + return True + if self.pulse_progress == -1: # still waiting for add + self.set_progress() + return True + if self.pulse_progress == False: # conversion ended + return False + + perfile = {} + for s in self.filelist.get_files(): + perfile[s] = None + running, progress = self.converter.get_progress(perfile) + + if running: + self.set_progress(progress) + for sound_file, taskprogress in perfile.iteritems(): + if taskprogress > 0.0: + sound_file.progress = taskprogress + self.set_file_progress(sound_file, taskprogress) + if taskprogress is None and sound_file.progress: + self.set_file_progress(sound_file, 1.0) + sound_file.progress = None + return running + + def do_convert(self): + self.pulse_progress = -1 + gobject.timeout_add(100, self.on_progress) + self.progressbar.set_text(_('Preparing conversion...')) + files = self.filelist.get_files() + total = len(files) + for i, sound_file in enumerate(files): + gtk_iteration() + self.pulse_progress = float(i)/total # TODO: still needed? + sound_file.progress = None + self.converter.add(sound_file) + # all was OK + self.set_status('') + self.pulse_progress = None + self.converter.start() + self.set_sensitive() + + def on_convert_button_clicked(self, *args): + # reset and show progress bar + self.set_progress(0) + self.progress_frame.show() + self.status_frame.hide() + self.progress_time = time.time() + self.set_progress() + self.set_status(_('Converting')) + for soundfile in self.filelist.get_files(): + self.set_file_progress(soundfile, 0.0) + # start conversion + self.do_convert() + # update ui + self.set_sensitive() + + def on_button_pause_clicked(self, *args): + self.converter.toggle_pause(not self.converter.paused) + + if self.converter.paused: + self.current_pause_start = time.time() + else: + self.paused_time += time.time() - self.current_pause_start + + def on_button_cancel_clicked(self, *args): + self.converter.abort() + self.set_status(_('Canceled')) + self.set_sensitive() + self.conversion_ended() + + def on_select_all_activate(self, *args): + self.filelist.widget.get_selection().select_all() + + def on_clear_activate(self, *args): + self.filelist.widget.get_selection().unselect_all() + + def on_preferences_activate(self, *args): + self.prefs.run() + + on_prefs_button_clicked = on_preferences_activate + + def on_about_activate(self, *args): + about = self.aboutdialog + about.set_property('name', NAME) + about.set_property('version', VERSION) + about.set_transient_for(self.widget) + #TODO: about.set_property('translator_credits', TRANSLATORS) + about.show() + + def on_aboutdialog_response(self, *args): + self.aboutdialog.hide() + + def selection_changed(self, *args): + self.set_sensitive() + + def conversion_ended(self): + self.pulse_progress = False + self.progress_frame.hide() + self.filelist.hide_row_progress() + self.status_frame.show() + self.widget.set_sensitive(True) + try: + from gi.repository import Unity + launcher = Unity.LauncherEntry.get_for_desktop_id ("soundconverter.desktop") + launcher.set_property("progress_visible", False) + except ImportError: + pass + + + def set_widget_sensitive(self, name, sensitivity): + self.sensitive_widgets[name].set_sensitive(sensitivity) + + def set_sensitive(self): + """update the sensitive state of UI for the current state""" + for w in self.unsensitive_when_converting: + self.set_widget_sensitive(w, not self.converter.running) + + if not self.converter.running: + self.set_widget_sensitive('remove', + self.filelist_selection.count_selected_rows() > 0) + self.set_widget_sensitive('convert_button', + self.filelist.is_nonempty()) + + def set_file_progress(self, sound_file, progress): + row = sound_file.filelist_row + self.filelist.set_row_progress(row, progress) + + def set_progress(self, fraction=None, display_time=True): + if not fraction: + if fraction is None: + self.progressbar.pulse() + else: + self.progressbar.set_fraction(0) + self.progressbar.set_text('') + self.progressfile.set_markup('') + self.filelist.hide_row_progress() + return + + if self.converter.paused: + self.progressbar.set_text(_('Paused')) + return + + fraction = min(max(fraction, 0.0), 1.0) + self.progressbar.set_fraction(fraction) + + if display_time: + t = time.time() - self.converter.run_start_time - \ + self.paused_time + if (t < 1): + # wait a bit not to display crap + self.progressbar.pulse() + return + + r = (t / fraction - t) + s = max(r % 60, 1) + m = r / 60 + + remaining = _('%d:%02d left') % (m, s) + self.progressbar.set_text(remaining) + self.progress_time = time.time() + + def set_status(self, text=None): + if not text: + text = _('Ready') + self.statustext.set_markup(text) + gtk_iteration() + + def is_active(self): + return self.widget.is_active() + + +NAME = VERSION = None +win = None + +def gui_main(name, version, gladefile, input_files): + global NAME, VERSION + NAME, VERSION = name, version + gnome.init(name, version) + builder = gtk.Builder() + builder.set_translation_domain(name.lower()) + builder.add_from_file(gladefile) + + global win + win = SoundConverterWindow(builder) + import error + error.set_error_handler(ErrorDialog(builder)) + + #error_dialog = MsgAreaErrorDialog(builder) + #error_dialog.msg_area = win.msg_area + #error.set_error_handler(error_dialog) + + gobject.idle_add(win.filelist.add_uris, input_files) + win.set_sensitive() + gtk.main() diff --git a/soundconverter/utils.py b/soundconverter/utils.py new file mode 100644 index 0000000..473e6f4 --- /dev/null +++ b/soundconverter/utils.py @@ -0,0 +1,42 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# SoundConverter - GNOME application for converting between audio formats. +# Copyright 2004 Lars Wirzenius +# Copyright 2005-2012 Gautier Portet +# +# 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; version 3 of the License. +# +# 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 + +# logging & debugging + +from settings import settings + + +def log(*args): + """ + Display a message. + Can be disabled with 'quiet' option + """ + if not settings['quiet']: + print( ' '.join([str(msg) for msg in args]) ) + + +def debug(*args): + """ + Display a debug message. + Only when activated by 'debug' option + """ + if settings['debug']: + print( ' '.join([str(msg) for msg in args]) ) |