diff options
174 files changed, 49563 insertions, 0 deletions
@@ -0,0 +1,3 @@ +Mark McLoughlin <[email protected]> +Havoc Pennington <[email protected]> +Vincent Untz <[email protected]> @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <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 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/COPYING.LIB b/COPYING.LIB new file mode 100644 index 0000000..5bc8fb2 --- /dev/null +++ b/COPYING.LIB @@ -0,0 +1,481 @@ + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1991 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, so that any problems introduced by others will not reflect on +the original authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + + Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + + Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. + + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + <one line to give the library's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + <signature of Ty Coon>, 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/ChangeLog @@ -0,0 +1 @@ + @@ -0,0 +1,31 @@ +Hacking on mate-menus +====================== + + + The development occurs in git: + + http://git.gnome.org/browse/mate-menus + + For information on how to access MATE git please read: + + http://live.gnome.org/Git + + + Please send patches as bug reports in MATE Bugzilla: + + https://bugzilla.gnome.org/ (product mate-menus) + + Your patch should be in unified diff form (the -u option to GNU + diff). See also: + + http://live.gnome.org/MateLove/SubmittingPatches + + + Please try and send a patch against a recent version of this package. + Patches against git master are most preferable. + + + Don't commit any but the most trivial patches without approval. + + + Exceptions to this are: + + - Translators may commit basic i18n related patches to the build + setup. + - Build sheriff are welcome - in accordance with the relevant build + sheriff constraints. diff --git a/MAINTAINERS b/MAINTAINERS new file mode 100644 index 0000000..cc6c441 --- /dev/null +++ b/MAINTAINERS @@ -0,0 +1,12 @@ +Currently active maintainers +---------------------------- + +Vincent Untz +E-mail: [email protected] +Userid: vuntz + +Non-active maintainers, who have a good understanding of the code +----------------------------------------------------------------- + +#Mark McLoughlin +#E-mail: [email protected] diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..d68b88f --- /dev/null +++ b/Makefile.am @@ -0,0 +1,36 @@ +SUBDIRS = libmenu desktop-directories layout util po + +if HAVE_PYTHON +SUBDIRS += python +endif + +ACLOCAL_AMFLAGS = -I m4 + +DISTCHECK_CONFIGURE_FLAGS = --enable-introspection --enable-python + +EXTRA_DIST = \ + HACKING \ + MAINTAINERS + +MAINTAINERCLEANFILES = \ + $(srcdir)/INSTALL \ + $(srcdir)/aclocal.m4 \ + $(srcdir)/config.guess \ + $(srcdir)/config.h.in \ + $(srcdir)/config.sub \ + $(srcdir)/depcomp \ + $(srcdir)/install-sh \ + $(srcdir)/ltmain.sh \ + $(srcdir)/missing \ + $(srcdir)/mkinstalldirs \ + $(srcdir)/py-compile \ + `find "$(srcdir)" -type f -name Makefile.in -print` \ + $(srcdir)/configure \ + $(srcdir)/m4/intltool.m4 \ + $(srcdir)/m4/libtool.m4 \ + $(srcdir)/m4/ltoptions.m4 \ + $(srcdir)/m4/ltsugar.m4 \ + $(srcdir)/m4/ltversion.m4 \ + $(srcdir)/m4/lt~obsolete.m4 + +-include $(top_srcdir)/git.mk @@ -0,0 +1 @@ + @@ -0,0 +1,44 @@ +mate-menus +=========== + +mate-menus contains the libmate-menu library, the layout configuration +files for the MATE menu, as well as a simple menu editor. + +The libmate-menu library implements the "Desktop Menu Specification" +from freedesktop.org: + + http://freedesktop.org/wiki/Specifications/menu-spec + http://specifications.freedesktop.org/menu-spec/menu-spec-latest.html + +You may download updates to the package from: + + http://download.gnome.org/sources/mate-menus/ + +To discuss mate-menus, you may use the desktop-devel-list mailing list: + + http://mail.gnome.org/mailman/listinfo/desktop-devel-list + + +Installation +============ + +See the file 'INSTALL'. If you are not using a released version of +mate-menus (for example, if you checked out the code from git), you +first need to run './autogen.sh'. + + +How to report bugs +================== + +Bugs should be reported to the MATE bug tracking system: + + https://bugzilla.gnome.org/ (product mate-menus) + +You will need to create an account for yourself. + +Please read the following page on how to prepare a useful bug report: + + https://bugzilla.gnome.org/page.cgi?id=bug-writing.html + +Please read the HACKING file for information on where to send changes or +bugfixes for this package. diff --git a/aclocal.m4 b/aclocal.m4 new file mode 100644 index 0000000..0f90350 --- /dev/null +++ b/aclocal.m4 @@ -0,0 +1,2177 @@ +# generated automatically by aclocal 1.11.1 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005, 2006, 2007, 2008, 2009 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_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],, +[m4_warning([this file was generated for autoconf 2.68. +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 <[email protected]>, 1995, 1996 +# +# Modified to never use included libintl. +# Owen Taylor <[email protected]>, 12/15/1998 +# +# Major rework to remove unused code +# Owen Taylor <[email protected]>, 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 <[email protected]> 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 <[email protected]>\n" +"Language-Team: C <[email protected]>\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 + AC_REQUIRE([AC_HEADER_STDC])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 -*- mode: autoconf -*- +dnl Copyright 2009 Johan Dahlin +dnl +dnl This file is free software; the author(s) gives unlimited +dnl permission to copy and/or distribute it, with or without +dnl modifications, as long as this notice is preserved. +dnl + +# serial 1 + +m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL], +[ + AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first + AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first + AC_BEFORE([LT_INIT],[$0])dnl setup libtool first + + dnl enable/disable introspection + m4_if([$2], [require], + [dnl + enable_introspection=yes + ],[dnl + AC_ARG_ENABLE(introspection, + AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]], + [Enable introspection for this build]),, + [enable_introspection=auto]) + ])dnl + + AC_MSG_CHECKING([for gobject-introspection]) + + dnl presence/version checking + AS_CASE([$enable_introspection], + [no], [dnl + found_introspection="no (disabled, use --enable-introspection to enable)" + ],dnl + [yes],[dnl + PKG_CHECK_EXISTS([gobject-introspection-1.0],, + AC_MSG_ERROR([gobject-introspection-1.0 is not installed])) + PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], + found_introspection=yes, + AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME])) + ],dnl + [auto],[dnl + PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no) + ],dnl + [dnl + AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@]) + ])dnl + + AC_MSG_RESULT([$found_introspection]) + + INTROSPECTION_SCANNER= + INTROSPECTION_COMPILER= + INTROSPECTION_GENERATE= + INTROSPECTION_GIRDIR= + INTROSPECTION_TYPELIBDIR= + if test "x$found_introspection" = "xyes"; then + INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0` + INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0` + INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0` + INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0` + INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)" + INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0` + INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0` + INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection + fi + AC_SUBST(INTROSPECTION_SCANNER) + AC_SUBST(INTROSPECTION_COMPILER) + AC_SUBST(INTROSPECTION_GENERATE) + AC_SUBST(INTROSPECTION_GIRDIR) + AC_SUBST(INTROSPECTION_TYPELIBDIR) + AC_SUBST(INTROSPECTION_CFLAGS) + AC_SUBST(INTROSPECTION_LIBS) + AC_SUBST(INTROSPECTION_MAKEFILE) + + AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes") +]) + + +dnl Usage: +dnl GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version]) + +AC_DEFUN([GOBJECT_INTROSPECTION_CHECK], +[ + _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1]) +]) + +dnl Usage: +dnl GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version]) + + +AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE], +[ + _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require]) +]) + +# mate-common.m4 +# + +dnl MATE_COMMON_INIT + +AC_DEFUN([MATE_COMMON_INIT], +[ + dnl this macro should come after AC_CONFIG_MACRO_DIR + AC_BEFORE([AC_CONFIG_MACRO_DIR], [$0]) + + dnl ensure that when the Automake generated makefile calls aclocal, + dnl it honours the $ACLOCAL_FLAGS environment variable + ACLOCAL_AMFLAGS="\${ACLOCAL_FLAGS}" + if test -n "$ac_macro_dir"; then + ACLOCAL_AMFLAGS="-I $ac_macro_dir $ACLOCAL_AMFLAGS" + fi + + AC_SUBST([ACLOCAL_AMFLAGS]) +]) + +AC_DEFUN([MATE_DEBUG_CHECK], +[ + AC_ARG_ENABLE([debug], + AC_HELP_STRING([--enable-debug], + [turn on debugging]),, + [enable_debug=no]) + + if test x$enable_debug = xyes ; then + AC_DEFINE(MATE_ENABLE_DEBUG, 1, + [Enable additional debugging at the expense of performance and size]) + fi +]) + +dnl MATE_MAINTAINER_MODE_DEFINES () +dnl define DISABLE_DEPRECATED +dnl +AC_DEFUN([MATE_MAINTAINER_MODE_DEFINES], +[ + AC_REQUIRE([AM_MAINTAINER_MODE]) + + DISABLE_DEPRECATED="" + if test $USE_MAINTAINER_MODE = yes; then + DOMAINS="G ATK PANGO GDK GDK_PIXBUF GTK MATECONF MATECOMPONENT MATECOMPONENT_UI MATE LIBGLADE VTE MATE_VFS WNCK LIBSOUP" + for DOMAIN in $DOMAINS; do + DISABLE_DEPRECATED="$DISABLE_DEPRECATED -D${DOMAIN}_DISABLE_DEPRECATED -D${DOMAIN}_DISABLE_SINGLE_INCLUDES" + done + fi + + AC_SUBST(DISABLE_DEPRECATED) +]) + +dnl MATE_COMPILE_WARNINGS +dnl Turn on many useful compiler warnings +dnl For now, only works on GCC +AC_DEFUN([MATE_COMPILE_WARNINGS],[ + dnl ****************************** + dnl More compiler warnings + dnl ****************************** + + AC_ARG_ENABLE(compile-warnings, + AC_HELP_STRING([--enable-compile-warnings=@<:@no/minimum/yes/maximum/error@:>@], + [Turn on compiler warnings]),, + [enable_compile_warnings="m4_default([$1],[yes])"]) + + warnCFLAGS= + if test "x$GCC" != xyes; then + enable_compile_warnings=no + fi + + warning_flags= + realsave_CFLAGS="$CFLAGS" + + case "$enable_compile_warnings" in + no) + warning_flags= + ;; + minimum) + warning_flags="-Wall" + ;; + yes) + warning_flags="-Wall -Wmissing-prototypes" + ;; + maximum|error) + warning_flags="-Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith" + CFLAGS="$warning_flags $CFLAGS" + for option in -Wno-sign-compare; do + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $option" + AC_MSG_CHECKING([whether gcc understands $option]) + AC_TRY_COMPILE([], [], + has_option=yes, + has_option=no,) + CFLAGS="$SAVE_CFLAGS" + AC_MSG_RESULT($has_option) + if test $has_option = yes; then + warning_flags="$warning_flags $option" + fi + unset has_option + unset SAVE_CFLAGS + done + unset option + if test "$enable_compile_warnings" = "error" ; then + warning_flags="$warning_flags -Werror" + fi + ;; + *) + AC_MSG_ERROR(Unknown argument '$enable_compile_warnings' to --enable-compile-warnings) + ;; + esac + CFLAGS="$realsave_CFLAGS" + AC_MSG_CHECKING(what warning flags to pass to the C compiler) + AC_MSG_RESULT($warning_flags) + + AC_ARG_ENABLE(iso-c, + AC_HELP_STRING([--enable-iso-c], + [Try to warn if code is not ISO C ]),, + [enable_iso_c=no]) + + AC_MSG_CHECKING(what language compliance flags to pass to the C compiler) + complCFLAGS= + if test "x$enable_iso_c" != "xno"; then + if test "x$GCC" = "xyes"; then + case " $CFLAGS " in + *[\ \ ]-ansi[\ \ ]*) ;; + *) complCFLAGS="$complCFLAGS -ansi" ;; + esac + case " $CFLAGS " in + *[\ \ ]-pedantic[\ \ ]*) ;; + *) complCFLAGS="$complCFLAGS -pedantic" ;; + esac + fi + fi + AC_MSG_RESULT($complCFLAGS) + + WARN_CFLAGS="$warning_flags $complCFLAGS" + AC_SUBST(WARN_CFLAGS) +]) + +dnl For C++, do basically the same thing. + +AC_DEFUN([MATE_CXX_WARNINGS],[ + AC_ARG_ENABLE(cxx-warnings, + AC_HELP_STRING([--enable-cxx-warnings=@<:@no/minimum/yes@:>@] + [Turn on compiler warnings.]),, + [enable_cxx_warnings="m4_default([$1],[minimum])"]) + + AC_MSG_CHECKING(what warning flags to pass to the C++ compiler) + warnCXXFLAGS= + if test "x$GXX" != xyes; then + enable_cxx_warnings=no + fi + if test "x$enable_cxx_warnings" != "xno"; then + if test "x$GXX" = "xyes"; then + case " $CXXFLAGS " in + *[\ \ ]-Wall[\ \ ]*) ;; + *) warnCXXFLAGS="-Wall -Wno-unused" ;; + esac + + ## -W is not all that useful. And it cannot be controlled + ## with individual -Wno-xxx flags, unlike -Wall + if test "x$enable_cxx_warnings" = "xyes"; then + warnCXXFLAGS="$warnCXXFLAGS -Wshadow -Woverloaded-virtual" + fi + fi + fi + AC_MSG_RESULT($warnCXXFLAGS) + + AC_ARG_ENABLE(iso-cxx, + AC_HELP_STRING([--enable-iso-cxx], + [Try to warn if code is not ISO C++ ]),, + [enable_iso_cxx=no]) + + AC_MSG_CHECKING(what language compliance flags to pass to the C++ compiler) + complCXXFLAGS= + if test "x$enable_iso_cxx" != "xno"; then + if test "x$GXX" = "xyes"; then + case " $CXXFLAGS " in + *[\ \ ]-ansi[\ \ ]*) ;; + *) complCXXFLAGS="$complCXXFLAGS -ansi" ;; + esac + + case " $CXXFLAGS " in + *[\ \ ]-pedantic[\ \ ]*) ;; + *) complCXXFLAGS="$complCXXFLAGS -pedantic" ;; + esac + fi + fi + AC_MSG_RESULT($complCXXFLAGS) + + WARN_CXXFLAGS="$CXXFLAGS $warnCXXFLAGS $complCXXFLAGS" + AC_SUBST(WARN_CXXFLAGS) +]) + +# nls.m4 serial 5 (gettext-0.18) +dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 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 <[email protected]>, 1995-2000. +dnl Bruno Haible <[email protected]>, 2000-2003. + +AC_PREREQ([2.50]) + +AC_DEFUN([AM_NLS], +[ + AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE([nls], + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) + AC_MSG_RESULT([$USE_NLS]) + AC_SUBST([USE_NLS]) +]) + +# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# serial 1 (pkg-config-0.24) +# +# Copyright © 2004 Scott James Remnant <[email protected]>. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# PKG_PROG_PKG_CONFIG([MIN-VERSION]) +# ---------------------------------- +AC_DEFUN([PKG_PROG_PKG_CONFIG], +[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) +m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) +m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) +AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) +AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=m4_default([$1], [0.9.0]) + AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + PKG_CONFIG="" + fi +fi[]dnl +])# PKG_PROG_PKG_CONFIG + +# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# Check to see whether a particular set of modules exists. Similar +# to PKG_CHECK_MODULES(), but does not set variables or print errors. +# +# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +# only at the first occurence in configure.ac, so if the first place +# it's called might be skipped (such as if it is within an "if", you +# have to call PKG_CHECK_EXISTS manually +# -------------------------------------------------------------- +AC_DEFUN([PKG_CHECK_EXISTS], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +if test -n "$PKG_CONFIG" && \ + AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then + m4_default([$2], [:]) +m4_ifvaln([$3], [else + $3])dnl +fi]) + +# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) +# --------------------------------------------- +m4_define([_PKG_CONFIG], +[if test -n "$$1"; then + pkg_cv_[]$1="$$1" + elif test -n "$PKG_CONFIG"; then + PKG_CHECK_EXISTS([$3], + [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes ], + [pkg_failed=yes]) + else + pkg_failed=untried +fi[]dnl +])# _PKG_CONFIG + +# _PKG_SHORT_ERRORS_SUPPORTED +# ----------------------------- +AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi[]dnl +])# _PKG_SHORT_ERRORS_SUPPORTED + + +# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +# [ACTION-IF-NOT-FOUND]) +# +# +# Note that if there is a possibility the first call to +# PKG_CHECK_MODULES might not happen, you should be sure to include an +# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac +# +# +# -------------------------------------------------------------- +AC_DEFUN([PKG_CHECK_MODULES], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl +AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl + +pkg_failed=no +AC_MSG_CHECKING([for $1]) + +_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) +_PKG_CONFIG([$1][_LIBS], [libs], [$2]) + +m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS +and $1[]_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details.]) + +if test $pkg_failed = yes; then + AC_MSG_RESULT([no]) + _PKG_SHORT_ERRORS_SUPPORTED + if test $_pkg_short_errors_supported = yes; then + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` + else + $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD + + m4_default([$4], [AC_MSG_ERROR( +[Package requirements ($2) were not met: + +$$1_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +_PKG_TEXT])[]dnl + ]) +elif test $pkg_failed = untried; then + AC_MSG_RESULT([no]) + m4_default([$4], [AC_MSG_FAILURE( +[The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +_PKG_TEXT + +To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl + ]) +else + $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS + $1[]_LIBS=$pkg_cv_[]$1[]_LIBS + AC_MSG_RESULT([yes]) + $3 +fi[]dnl +])# PKG_CHECK_MODULES + +# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 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.11' +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.11.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.11.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, 2003, 2005 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, 2000, 2001, 2003, 2004, 2005, 2006, 2008 +# 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. + +# serial 9 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$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, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 +# 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. + +# serial 10 + +# 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", "GCJ", or "OBJC". +# 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 + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" 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'. + 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 8's {/usr,}/bin/sh. + touch 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 + ;; + 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, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 +# 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. + +#serial 5 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[{ + # Autoconf 2.62 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"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //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' -e 's/\$U/'"$U"'/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"]) +]) + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# 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. + +# serial 8 + +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005, 2006, 2008, 2009 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. + +# serial 16 + +# 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. + +# 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.62])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], +[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], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, + [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([AM_PROG_MKDIR_P])dnl +# 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)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES(OBJC)], + [define([AC_PROG_OBJC], + defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl +]) +_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl +dnl The `parallel-tests' driver may need to know about EXEEXT, so add the +dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro +dnl 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 +]) + +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, 2003, 2005, 2008 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, 2005 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. + +# serial 2 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- +# From Jim Meyering + +# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008 +# 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. + +# serial 5 + +# AM_MAINTAINER_MODE([DEFAULT-MODE]) +# ---------------------------------- +# Control maintainer-specific portions of Makefiles. +# Default is to disable them, unless `enable' is passed literally. +# For symmetry, `disable' may be passed as well. Anyway, the user +# can override the default with the --enable/--disable switch. +AC_DEFUN([AM_MAINTAINER_MODE], +[m4_case(m4_default([$1], [disable]), + [enable], [m4_define([am_maintainer_other], [disable])], + [disable], [m4_define([am_maintainer_other], [enable])], + [m4_define([am_maintainer_other], [enable]) + m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) +AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles]) + dnl maintainer-mode's default is 'disable' unless 'enable' is passed + AC_ARG_ENABLE([maintainer-mode], +[ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful + (and sometimes confusing) to the casual installer], + [USE_MAINTAINER_MODE=$enableval], + [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) + AC_MSG_RESULT([$USE_MAINTAINER_MODE]) + AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST([MAINT])dnl +] +) + +AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005, 2009 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. + +# serial 4 + +# 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, 1999, 2000, 2001, 2003, 2004, 2005, 2008 +# 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. + +# serial 6 + +# 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 supports --run. +# If it does, 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 --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# Copyright (C) 2003, 2004, 2005, 2006 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_MKDIR_P +# --------------- +# Check for `mkdir -p'. +AC_DEFUN([AM_PROG_MKDIR_P], +[AC_PREREQ([2.60])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, +dnl while keeping a definition of mkdir_p for backward compatibility. +dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. +dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of +dnl Makefile.ins that do not define MKDIR_P, so we do our own +dnl adjustment using top_builddir (which is defined more often than +dnl MKDIR_P). +AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl +case $mkdir_p in + [[\\/$]]* | ?:[[\\/]]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac +]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005, 2008 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. + +# serial 4 + +# _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, 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009 +# 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.0 python2.5 python2.4 python2.3 python2.2 dnl +python2.1 python2.0]) + + 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 >= $1]) + AM_PYTHON_CHECK_VERSION([$PYTHON], [$1], + [AC_MSG_RESULT(yes)], + [AC_MSG_ERROR(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]) + + + 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. distutils does not exist in + dnl Python 1.5, so we fall back to the hardcoded directory if it + dnl doesn't work. + 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 "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 2>/dev/null || + echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"` + 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. distutils does not exist in + dnl Python 1.5, so we fall back to the hardcoded directory if it + dnl doesn't work. + 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 "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 2>/dev/null || + echo "$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages"` + 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, 2003, 2005 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, 1997, 2000, 2001, 2003, 2005, 2008 +# 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. + +# serial 5 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# 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 ( + 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 + rm -f conftest.file + 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 + + 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)]) + +# Copyright (C) 2009 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. + +# serial 1 + +# 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], +[ --enable-silent-rules less verbose build output (undo: `make V=1') + --disable-silent-rules verbose build output (undo: `make V=0')]) +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 +AC_SUBST([AM_DEFAULT_VERBOSITY])dnl +AM_BACKSLASH='\' +AC_SUBST([AM_BACKSLASH])dnl +_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl +]) + +# Copyright (C) 2001, 2003, 2005 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, 2008 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. + +# serial 2 + +# _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, 2005 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. + +# serial 2 + +# _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. +AM_MISSING_PROG([AMTAR], [tar]) +m4_if([$1], [v7], + [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [m4_case([$1], [ustar],, [pax],, + [m4_fatal([Unknown tar format])]) +AC_MSG_CHECKING([how to create a $1 tar archive]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +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]) + 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 + +m4_include([m4/intltool.m4]) +m4_include([m4/libtool.m4]) +m4_include([m4/ltoptions.m4]) +m4_include([m4/ltsugar.m4]) +m4_include([m4/ltversion.m4]) +m4_include([m4/lt~obsolete.m4]) +m4_include([m4/python.m4]) diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..688ffa7 --- /dev/null +++ b/autogen.sh @@ -0,0 +1,25 @@ +#!/bin/sh +# Run this to generate all the initial makefiles, etc. + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +PKG_NAME="mate-menus" + +(test -f $srcdir/configure.ac) || { + echo -n "**Error**: Directory "\`$srcdir\'" does not look like the" + echo " top-level $PKG_NAME directory" + exit 1 +} + +which mate-autogen.sh || { + echo "You need to install mate-common from the MATE Git" + exit 1 +} + +REQUIRED_AUTOMAKE_VERSION=1.9 +USE_MATE2_MACROS=1 +USE_COMMON_DOC_BUILD=yes + +. mate-autogen.sh + diff --git a/config.h.in b/config.h.in new file mode 100644 index 0000000..834846d --- /dev/null +++ b/config.h.in @@ -0,0 +1,83 @@ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* always defined to indicate that i18n is enabled */ +#undef ENABLE_NLS + +/* Name of default gettext domain */ +#undef GETTEXT_PACKAGE + +/* Define to 1 if you have the `bind_textdomain_codeset' function. */ +#undef HAVE_BIND_TEXTDOMAIN_CODESET + +/* Define to 1 if you have the `dcgettext' function. */ +#undef HAVE_DCGETTEXT + +/* Define to 1 if you have the <dlfcn.h> header file. */ +#undef HAVE_DLFCN_H + +/* Define if the GNU gettext() function is already present or preinstalled. */ +#undef HAVE_GETTEXT + +/* Define to 1 if you have the <inttypes.h> header file. */ +#undef HAVE_INTTYPES_H + +/* Define if your <locale.h> file defines LC_MESSAGES. */ +#undef HAVE_LC_MESSAGES + +/* Define to 1 if you have the <locale.h> header file. */ +#undef HAVE_LOCALE_H + +/* Define to 1 if you have the <memory.h> header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the <stdint.h> header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the <stdlib.h> header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the <strings.h> header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the <string.h> header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the <sys/types.h> header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the <unistd.h> header file. */ +#undef HAVE_UNISTD_H + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#undef LT_OBJDIR + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the home page for this package. */ +#undef PACKAGE_URL + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION diff --git a/config.sub b/config.sub new file mode 100755 index 0000000..2a55a50 --- /dev/null +++ b/config.sub @@ -0,0 +1,1705 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# Free Software Foundation, Inc. + +timestamp='2009-11-20' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Please send patches to <[email protected]>. Submit a context +# diff and a properly formatted GNU ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to <[email protected]>." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + kopensolaris*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray | -microblaze) + os= + basic_machine=$1 + ;; + -bluegene*) + os=-cnk + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fido | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | lm32 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore | mep | metag \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nios | nios2 \ + | ns16k | ns32k \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | rx \ + | score \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | ubicom32 \ + | v850 | v850e \ + | we32k \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k | z80) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12 | picochip) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | lm32-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64octeon-* | mips64octeonel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64r5900-* | mips64r5900el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* | rx-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ + | tron-* \ + | ubicom32-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa*-* \ + | ymp-* \ + | z8k-* | z80-*) + ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aros) + basic_machine=i386-pc + os=-aros + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16) + basic_machine=cr16-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + microblaze) + basic_machine=microblaze-xilinx + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh5el) + basic_machine=sh5le-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tile*) + basic_machine=tile-unknown + os=-linux-gnu + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + z80-*-coff) + basic_machine=z80-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* | -aros* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* | -cegcc* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -dicos*) + os=-dicos + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mep-*) + os=-elf + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -cnk*|-aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..8460876 --- /dev/null +++ b/configure.ac @@ -0,0 +1,171 @@ +AC_PREREQ(2.62) + +AC_INIT([mate-menus], [2011.11.16], [https://github.com/perberos/mate-desktop-environment]) +AC_CONFIG_SRCDIR(libmenu/matemenu-tree.h) + +AM_INIT_AUTOMAKE([1.9 foreign no-dist-gzip dist-bzip2]) +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) +AC_CONFIG_MACRO_DIR([m4]) +AM_CONFIG_HEADER(config.h) + +AM_MAINTAINER_MODE +MATE_MAINTAINER_MODE_DEFINES + +# Before making a release, the LT_VERSION string should be modified. +# The string is of the form C:R:A. +# - If interfaces have been changed or added, but binary compatibility has +# been preserved, change to C+1:0:A+1 +# - If binary compatibility has been broken (eg removed or changed interfaces) +# change to C+1:0:0 +# - If the interface is the same as the previous version, change to C:R+1:A + +LIB_MENU_LT_VERSION=6:9:4 +AC_SUBST(LIB_MENU_LT_VERSION) + +GETTEXT_PACKAGE=mate-menus +AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Name of default gettext domain]) +AC_SUBST(GETTEXT_PACKAGE) + +AM_GLIB_GNU_GETTEXT + +IT_PROG_INTLTOOL([0.40.0]) + +AC_ISC_POSIX +AC_PROG_CC +AC_STDC_HEADERS +AC_ARG_PROGRAM +AC_LIBTOOL_WIN32_DLL +AM_PROG_LIBTOOL + +dnl make sure we keep ACLOCAL_FLAGS around for maintainer builds to work +AC_SUBST(ACLOCAL_AMFLAGS, "$ACLOCAL_FLAGS") + +PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.6.0 gio-2.0 >= 2.15.2) +AC_SUBST(GLIB_CFLAGS) +AC_SUBST(GLIB_LIBS) + +MATE_COMPILE_WARNINGS(yes) + +AC_ARG_ENABLE(deprecation_flags, + [AC_HELP_STRING([--enable-deprecation-flags], + [use *_DISABLE_DEPRECATED flags @<:@default=no@:>@])],, + [enable_deprecation_flags=no]) + +if test "x$enable_deprecation_flags" = "xyes"; then + DISABLE_DEPRECATED_CFLAGS=$DISABLE_DEPRECATED + AC_SUBST(DISABLE_DEPRECATED_CFLAGS) +fi + +dnl --enable-debug=(yes|minimum|no) +AC_ARG_ENABLE(debug, + [AC_HELP_STRING([--enable-debug], + [turn on debugging @<:@default=minimum@:>@])],, + [enable_debug=minimum]) +if test "$enable_debug" = "yes"; then + DEBUG_CFLAGS="-DG_ENABLE_DEBUG" +else + if test "x$enable_debug" = "xno"; then + DEBUG_CFLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS" + else + DEBUG_CFLAGS="" + # make sure we have the right string for the configure summary + enable_debug="minimum" + fi +fi +AC_SUBST(DEBUG_CFLAGS) + +AC_ARG_ENABLE(python, + [AC_HELP_STRING([--enable-python], + [build python bindings @<:@default=auto@:>@])], + [enable_deprecations=$enableval], + [enable_deprecations=auto]) + +# Detect if we can build Python bindings (need python and python headers) +if test "x$enable_python" = "xno" ; then + have_python=no +else + AC_MSG_NOTICE([Checking to see if we can build Python bindings]) + have_python=no + AM_PATH_PYTHON(2.3) + + if test "x$PYTHON" = "x" ; then + AC_MSG_WARN([Python not found]) + else + AM_CHECK_PYTHON_HEADERS(have_python_headers=yes, have_python_headers=no) + if test "x$have_python_headers" = "xyes" ; then + have_python=yes + fi + fi + + if test "x$have_python" = "xno" ; then + if test "x$enable_python" = "xyes" ; then + AC_MSG_ERROR([Building python explicitly requested, but can't build python bindings]) + else + AC_MSG_WARN([Couldn't find the Python headers, not building Python bindings]) + fi + fi +fi + +AM_CONDITIONAL(HAVE_PYTHON, test x$have_python = xyes) + +# Because of the way Python implements polymorphism, we get the following warning: +# "warning: dereferencing type-punned pointer will break strict-aliasing rules" +# -fno-strict-aliasing (as used in Python build) switches warnings off +NO_STRICT_ALIASING_CFLAGS="" +if test "x$GCC" = "xyes" ; then + AC_MSG_CHECKING(whether $CC accepts -fno-strict-aliasing) + ac_save_cc="$CC" + CC="$CC -fno-strict-aliasing" + AC_TRY_RUN([int main() { return 0; }], + ac_cv_no_strict_aliasing_ok=yes, + ac_cv_no_strict_aliasing_ok=no, + ac_cv_no_strict_aliasing_ok=no) + CC="$ac_save_cc" + AC_MSG_RESULT($ac_cv_no_strict_aliasing_ok) + if test "x$ac_cv_no_strict_aliasing_ok" = "xyes" ; then + NO_STRICT_ALIASING_CFLAGS="-fno-strict-aliasing" + fi +fi +AC_SUBST(NO_STRICT_ALIASING_CFLAGS) + +GOBJECT_INTROSPECTION_CHECK([0.6.7]) + +AC_OUTPUT([ +Makefile +libmenu/Makefile +libmenu/libmate-menu.pc +libmenu/libmate-menu-uninstalled.pc +layout/Makefile +desktop-directories/Makefile +util/Makefile +python/Makefile +po/Makefile.in +]) + +dnl --------------------------------------------------------------------------- +dnl - Show summary +dnl --------------------------------------------------------------------------- + +echo " + mate-menus $VERSION + `echo mate-menus $VERSION | sed "s/./=/g"` + + prefix: ${prefix} + exec_prefix: ${exec_prefix} + libdir: ${libdir} + bindir: ${bindir} + sbindir: ${sbindir} + sysconfdir: ${sysconfdir} + localstatedir: ${localstatedir} + datadir: ${datadir} + source code location: ${srcdir} + compiler: ${CC} + cflags: ${CFLAGS} + Maintainer mode: ${USE_MAINTAINER_MODE} + Use *_DISABLE_DEPRECATED: ${enable_deprecation_flags} + + Turn on debugging: ${enable_debug} + Build python bindings: ${have_python} + Build introspection support: ${found_introspection} + +" @@ -0,0 +1,630 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2009-04-28.21; # UTC + +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 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. + +# Originally written by Alexandre Oliva <[email protected]>. + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + DEPDIR directory where to store dependencies. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to <[email protected]>. +EOF + exit $? + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit $? + ;; +esac + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi + +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. +depfile=${depfile-`echo "$object" | + sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +cygpath_u="cygpath -u -f -" +if test "$depmode" = msvcmsys; then + # This is just like msvisualcpp but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u="sed s,\\\\\\\\,/,g" + depmode=msvisualcpp +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. +## Unfortunately, FreeBSD c89 acceptance of flags depends upon +## the command line argument order; so add the flags where they +## appear in depend2.am. Note that the slowdown incurred here +## affects only configure: in makefiles, %FASTDEP% shortcuts this. + for arg + do + case $arg in + -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; + *) set fnord "$@" "$arg" ;; + esac + shift # fnord + shift # $arg + done + "$@" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> "$depfile" + echo >> "$depfile" + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts `$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.u + tmpdepfile2=$base.u + tmpdepfile3=$dir.libs/$base.u + "$@" -Wc,-M + else + tmpdepfile1=$dir$base.u + tmpdepfile2=$dir$base.u + tmpdepfile3=$dir$base.u + "$@" -M + fi + stat=$? + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Intel's C compiler understands `-MD -MF file'. However on + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using \ : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp2) + # The "hp" stanza above does not work with aCC (C++) and HP's ia64 + # compilers, which have integrated preprocessors. The correct option + # to use with these is +Maked; it writes dependencies to a file named + # 'foo.d', which lands next to the object file, wherever that + # happens to be. + # Much of this is similar to the tru64 case; see comments there. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir.libs/$base.d + "$@" -Wc,+Maked + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + "$@" +Maked + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" + # Add `dependent.h:' lines. + sed -ne '2,${ + s/^ *// + s/ \\*$// + s/$/:/ + p + }' "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" "$tmpdepfile2" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + # With Tru64 cc, shared objects can also be used to make a + # static library. This mechanism is used in libtool 1.4 series to + # handle both shared and static libraries in a single compilation. + # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. + # + # With libtool 1.5 this exception was removed, and libtool now + # generates 2 separate objects for the 2 libraries. These two + # compilations output dependencies in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 + tmpdepfile2=$dir$base.o.d # libtool 1.5 + tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 + tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 + "$@" -Wc,-MD + else + tmpdepfile1=$dir$base.o.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + tmpdepfile4=$dir$base.d + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for `:' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + "$@" $dashmflag | + sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no eat=no + for arg + do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + if test $eat = yes; then + eat=no + continue + fi + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -arch) + eat=yes ;; + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix=`echo "$object" | sed 's/^.*\././'` + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + IFS=" " + for arg + do + case "$arg" in + -o) + shift + ;; + $object) + shift + ;; + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E 2>/dev/null | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvcmsys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/desktop-directories/Makefile.am b/desktop-directories/Makefile.am new file mode 100644 index 0000000..4bcc63c --- /dev/null +++ b/desktop-directories/Makefile.am @@ -0,0 +1,37 @@ +directorydir = $(datadir)/mate/desktop-directories + +# Should be moved to mate-control-center: +directory_in_controlcenterfiles = \ + mate-hardware.directory.in \ + mate-internet-and-network.directory.in \ + mate-look-and-feel.directory.in \ + mate-personal.directory.in \ + mate-system.directory.in + +directory_in_files = \ + mate-audio-video.directory.in \ + mate-development.directory.in \ + mate-education.directory.in \ + mate-game.directory.in \ + mate-graphics.directory.in \ + mate-network.directory.in \ + mate-office.directory.in \ + mate-settings.directory.in \ + mate-settings-system.directory.in \ + mate-system-tools.directory.in \ + mate-utility.directory.in \ + mate-utility-accessibility.directory.in \ + mate-other.directory.in \ + mate-menu-applications.directory.in \ + mate-menu-system.directory.in \ + $(directory_in_controlcenterfiles) + +directory_DATA = $(directory_in_files:.directory.in=.directory) + +@INTLTOOL_DIRECTORY_RULE@ + +EXTRA_DIST= $(directory_in_files) + +DISTCLEANFILES = $(directory_DATA) + +-include $(top_srcdir)/git.mk diff --git a/desktop-directories/mate-audio-video.directory.in b/desktop-directories/mate-audio-video.directory.in new file mode 100644 index 0000000..966fda1 --- /dev/null +++ b/desktop-directories/mate-audio-video.directory.in @@ -0,0 +1,5 @@ +[Desktop Entry] +_Name=Sound & Video +_Comment=Multimedia menu +Icon=applications-multimedia +Type=Directory diff --git a/desktop-directories/mate-development.directory.in b/desktop-directories/mate-development.directory.in new file mode 100644 index 0000000..d7e9de9 --- /dev/null +++ b/desktop-directories/mate-development.directory.in @@ -0,0 +1,5 @@ +[Desktop Entry] +_Name=Programming +_Comment=Tools for software development +Icon=applications-development +Type=Directory diff --git a/desktop-directories/mate-education.directory.in b/desktop-directories/mate-education.directory.in new file mode 100644 index 0000000..689168a --- /dev/null +++ b/desktop-directories/mate-education.directory.in @@ -0,0 +1,4 @@ +[Desktop Entry] +_Name=Education +Icon=applications-science +Type=Directory diff --git a/desktop-directories/mate-game.directory.in b/desktop-directories/mate-game.directory.in new file mode 100644 index 0000000..610bbd8 --- /dev/null +++ b/desktop-directories/mate-game.directory.in @@ -0,0 +1,5 @@ +[Desktop Entry] +_Name=Games +_Comment=Games and amusements +Icon=applications-games +Type=Directory diff --git a/desktop-directories/mate-graphics.directory.in b/desktop-directories/mate-graphics.directory.in new file mode 100644 index 0000000..d2b4bb6 --- /dev/null +++ b/desktop-directories/mate-graphics.directory.in @@ -0,0 +1,5 @@ +[Desktop Entry] +_Name=Graphics +_Comment=Graphics applications +Icon=applications-graphics +Type=Directory diff --git a/desktop-directories/mate-hardware.directory.in b/desktop-directories/mate-hardware.directory.in new file mode 100644 index 0000000..e80430e --- /dev/null +++ b/desktop-directories/mate-hardware.directory.in @@ -0,0 +1,5 @@ +[Desktop Entry] +_Name=Hardware +_Comment=Settings for several hardware devices +Icon=preferences-desktop-peripherals +Type=Directory diff --git a/desktop-directories/mate-internet-and-network.directory.in b/desktop-directories/mate-internet-and-network.directory.in new file mode 100644 index 0000000..a37586f --- /dev/null +++ b/desktop-directories/mate-internet-and-network.directory.in @@ -0,0 +1,5 @@ +[Desktop Entry] +_Name=Internet and Network +_Comment=Network-related settings +Icon=preferences-system-network +Type=Directory diff --git a/desktop-directories/mate-look-and-feel.directory.in b/desktop-directories/mate-look-and-feel.directory.in new file mode 100644 index 0000000..ad8b187 --- /dev/null +++ b/desktop-directories/mate-look-and-feel.directory.in @@ -0,0 +1,5 @@ +[Desktop Entry] +_Name=Look and Feel +_Comment=Settings controlling the desktop appearance and behavior +Icon=preferences-desktop +Type=Directory diff --git a/desktop-directories/mate-menu-applications.directory.in b/desktop-directories/mate-menu-applications.directory.in new file mode 100644 index 0000000..d4106cb --- /dev/null +++ b/desktop-directories/mate-menu-applications.directory.in @@ -0,0 +1,5 @@ +[Desktop Entry] +_Name=Applications +_Comment=Applications +Icon=applications-other +Type=Directory diff --git a/desktop-directories/mate-menu-system.directory.in b/desktop-directories/mate-menu-system.directory.in new file mode 100644 index 0000000..643f042 --- /dev/null +++ b/desktop-directories/mate-menu-system.directory.in @@ -0,0 +1,5 @@ +[Desktop Entry] +_Name=System +_Comment=Personal preferences and administration settings +Icon=preferences-other +Type=Directory diff --git a/desktop-directories/mate-network.directory.in b/desktop-directories/mate-network.directory.in new file mode 100644 index 0000000..bc88bee --- /dev/null +++ b/desktop-directories/mate-network.directory.in @@ -0,0 +1,5 @@ +[Desktop Entry] +_Name=Internet +_Comment=Programs for Internet access such as web and email +Icon=applications-internet +Type=Directory diff --git a/desktop-directories/mate-office.directory.in b/desktop-directories/mate-office.directory.in new file mode 100644 index 0000000..d6c8d9e --- /dev/null +++ b/desktop-directories/mate-office.directory.in @@ -0,0 +1,5 @@ +[Desktop Entry] +_Name=Office +_Comment=Office Applications +Icon=applications-office +Type=Directory diff --git a/desktop-directories/mate-other.directory.in b/desktop-directories/mate-other.directory.in new file mode 100644 index 0000000..898d406 --- /dev/null +++ b/desktop-directories/mate-other.directory.in @@ -0,0 +1,5 @@ +[Desktop Entry] +_Name=Other +_Comment=Applications that did not fit in other categories +Icon=applications-other +Type=Directory diff --git a/desktop-directories/mate-personal.directory.in b/desktop-directories/mate-personal.directory.in new file mode 100644 index 0000000..9f11595 --- /dev/null +++ b/desktop-directories/mate-personal.directory.in @@ -0,0 +1,6 @@ +[Desktop Entry] +# Translators: this is Personal as in "Personal settings" +_Name=Personal +_Comment=Personal settings +Icon=preferences-desktop-personal +Type=Directory diff --git a/desktop-directories/mate-settings-system.directory.in b/desktop-directories/mate-settings-system.directory.in new file mode 100644 index 0000000..5dbb708 --- /dev/null +++ b/desktop-directories/mate-settings-system.directory.in @@ -0,0 +1,5 @@ +[Desktop Entry] +Type=Directory +_Name=Administration +_Comment=Change system-wide settings (affects all users) +Icon=preferences-system diff --git a/desktop-directories/mate-settings.directory.in b/desktop-directories/mate-settings.directory.in new file mode 100644 index 0000000..7c663a6 --- /dev/null +++ b/desktop-directories/mate-settings.directory.in @@ -0,0 +1,5 @@ +[Desktop Entry] +_Name=Preferences +_Comment=Personal preferences +Icon=preferences-desktop +Type=Directory diff --git a/desktop-directories/mate-system-tools.directory.in b/desktop-directories/mate-system-tools.directory.in new file mode 100644 index 0000000..d1d85be --- /dev/null +++ b/desktop-directories/mate-system-tools.directory.in @@ -0,0 +1,5 @@ +[Desktop Entry] +_Name=System Tools +_Comment=System configuration and monitoring +Icon=applications-system +Type=Directory diff --git a/desktop-directories/mate-system.directory.in b/desktop-directories/mate-system.directory.in new file mode 100644 index 0000000..9de63bf --- /dev/null +++ b/desktop-directories/mate-system.directory.in @@ -0,0 +1,5 @@ +[Desktop Entry] +_Name=System +_Comment=System settings +Icon=preferences-system +Type=Directory diff --git a/desktop-directories/mate-utility-accessibility.directory.in b/desktop-directories/mate-utility-accessibility.directory.in new file mode 100644 index 0000000..358b3a9 --- /dev/null +++ b/desktop-directories/mate-utility-accessibility.directory.in @@ -0,0 +1,5 @@ +[Desktop Entry] +_Name=Universal Access +_Comment=Universal Access Settings +Type=Directory +Icon=preferences-desktop-accessibility diff --git a/desktop-directories/mate-utility.directory.in b/desktop-directories/mate-utility.directory.in new file mode 100644 index 0000000..0edeeef --- /dev/null +++ b/desktop-directories/mate-utility.directory.in @@ -0,0 +1,5 @@ +[Desktop Entry] +_Name=Accessories +_Comment=Desktop accessories +Icon=applications-accessories +Type=Directory diff --git a/distro/archlinux/PKGBUILD b/distro/archlinux/PKGBUILD new file mode 100644 index 0000000..56ff5ff --- /dev/null +++ b/distro/archlinux/PKGBUILD @@ -0,0 +1,29 @@ +pkgname=mate-menus +pkgver=2011.11.16 +pkgrel=1 +pkgdesc="MATE menu specifications" +arch=('i686' 'x86_64') +license=('GPL') +depends=('glib2' 'python2') +makedepends=('intltool' 'gobject-introspection') +options=('!emptydirs' '!libtool') +source=(http://sourceforge.net/projects/matede/files/${pkgver}/${pkgname}.tar.gz/download) +sha256sums=('c9ab6dec9b0157bbd3cd7618839fbbf30d6ddcee231c14e46cd267c2b56601d4') +url="http://matsusoft.com.ar/projects" +groups=('mate') + +build() { + cd "${srcdir}/${pkgname}" + PYTHON=/usr/bin/python2 ./autogen.sh \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --enable-python \ + --disable-static || return 1 + make || return 1 +} + +package() { + cd "${srcdir}/${pkgname}" + make DESTDIR="${pkgdir}" install || return 1 +} diff --git a/distro/archlinux/menus.patch b/distro/archlinux/menus.patch new file mode 100644 index 0000000..413d33c --- /dev/null +++ b/distro/archlinux/menus.patch @@ -0,0 +1,25 @@ +--- layout/applications.menu 2005-06-28 10:16:39.000000000 +0200 ++++ layout/applications.menu 2005-09-12 23:21:20.000000000 +0200 +@@ -7,7 +7,6 @@ + <Directory>Applications.directory</Directory> + + <!-- Scan legacy dirs first, as later items take priority --> +- <KDELegacyDirs/> + <LegacyDir>/etc/X11/applnk</LegacyDir> + <LegacyDir>/usr/share/mate/apps</LegacyDir> + +@@ -18,6 +17,14 @@ + <!-- Read in overrides and child menus from applications-merged/ --> + <DefaultMergeDirs/> + ++ <!-- Archlinux submenu --> ++ <Menu> ++ <Name>Archlinux</Name> ++ <Directory>Archlinux.directory</Directory> ++ <Include> ++ <Category>Archlinux</Category> ++ </Include> ++ </Menu> <!-- End Archlinux --> + <!-- Accessories submenu --> + <Menu> + <Name>Accessories</Name> diff --git a/distro/ubuntu/build b/distro/ubuntu/build new file mode 100755 index 0000000..4f14709 --- /dev/null +++ b/distro/ubuntu/build @@ -0,0 +1,27 @@ +#!/bin/bash + +# fill it +pkgname=mate-menus +pkgver=2011.10.29 +pkgrel=1 +pkgdesc="MATE menu specifications" +#depends="glib2, python2" +# editar esta funcion! +build() { + cd $pkgsrc + # descomprimir + tar xvzf download + # entramos a la carpeta + cd ${pkgname} + + #patch -Np0 -i "$srcdir/menus.patch" + + ./configure \ + --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static + make + make DESTDIR="${pkgdir}" install +} + +# esto incluye la parte que se repite en la mayoria de los builds +. /usr/share/mate-doc-utils/mate-debian.sh diff --git a/install-sh b/install-sh new file mode 100755 index 0000000..6781b98 --- /dev/null +++ b/install-sh @@ -0,0 +1,520 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2009-04-28.21; # 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 + 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 + 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 + trap '(exit $?); exit' 1 2 13 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 starting with `-'. + 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 + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst;; + esac + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + if test -n "$no_target_directory"; then + echo "$0: $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-writeable 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 -z "$d" && 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: diff --git a/layout/Makefile.am b/layout/Makefile.am new file mode 100644 index 0000000..f6ab8e6 --- /dev/null +++ b/layout/Makefile.am @@ -0,0 +1,9 @@ +menudir = $(sysconfdir)/xdg/menus + +menu_DATA = \ + mate-applications.menu \ + mate-settings.menu + +EXTRA_DIST= $(menu_DATA) + +-include $(top_srcdir)/git.mk diff --git a/layout/mate-applications.menu b/layout/mate-applications.menu new file mode 100644 index 0000000..2b917cc --- /dev/null +++ b/layout/mate-applications.menu @@ -0,0 +1,154 @@ +<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" + "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> + +<Menu> + + <Name>Applications</Name> + <Directory>mate-menu-applications.directory</Directory> + + <!-- Scan legacy dirs first, as later items take priority --> + <KDELegacyDirs/> + <LegacyDir>/etc/X11/applnk</LegacyDir> + <LegacyDir>/usr/share/mate/apps</LegacyDir> + + <!-- Read standard .directory and .desktop file locations --> + <DefaultAppDirs/> + <DefaultDirectoryDirs/> + + <!-- Read in overrides and child menus from applications-merged/ --> + <DefaultMergeDirs/> + + <!-- Accessories submenu --> + <Menu> + <Name>Accessories</Name> + <Directory>mate-utility.directory</Directory> + <Include> + <And> + <Category>Utility</Category> + <!-- Accessibility spec must have either the Utility or Settings + category, and we display an accessibility submenu already for + the ones that do not have Settings, so don't display accessibility + applications here --> + <Not><Category>Accessibility</Category></Not> + <Not><Category>System</Category></Not> + </And> + </Include> + </Menu> <!-- End Accessories --> + + <!-- Accessibility submenu --> + <Menu> + <Name>Universal Access</Name> + <Directory>mate-utility-accessibility.directory</Directory> + <Include> + <And> + <Category>Accessibility</Category> + <Not><Category>Settings</Category></Not> + </And> + </Include> + </Menu> <!-- End Accessibility --> + + <!-- Development Tools --> + <Menu> + <Name>Development</Name> + <Directory>mate-development.directory</Directory> + <Include> + <And> + <Category>Development</Category> + </And> + <Filename>emacs.desktop</Filename> + </Include> + </Menu> <!-- End Development Tools --> + + <!-- Education --> + <Menu> + <Name>Education</Name> + <Directory>mate-education.directory</Directory> + <Include> + <And> + <Category>Education</Category> + </And> + </Include> + </Menu> <!-- End Education --> + + <!-- Games --> + <Menu> + <Name>Games</Name> + <Directory>mate-game.directory</Directory> + <Include> + <And> + <Category>Game</Category> + </And> + </Include> + </Menu> <!-- End Games --> + + <!-- Graphics --> + <Menu> + <Name>Graphics</Name> + <Directory>mate-graphics.directory</Directory> + <Include> + <And> + <Category>Graphics</Category> + </And> + </Include> + </Menu> <!-- End Graphics --> + + <!-- Internet --> + <Menu> + <Name>Internet</Name> + <Directory>mate-network.directory</Directory> + <Include> + <And> + <Category>Network</Category> + </And> + </Include> + </Menu> <!-- End Internet --> + + <!-- Multimedia --> + <Menu> + <Name>Multimedia</Name> + <Directory>mate-audio-video.directory</Directory> + <Include> + <And> + <Category>AudioVideo</Category> + </And> + </Include> + </Menu> <!-- End Multimedia --> + + <!-- Office --> + <Menu> + <Name>Office</Name> + <Directory>mate-office.directory</Directory> + <Include> + <And> + <Category>Office</Category> + </And> + </Include> + </Menu> <!-- End Office --> + + <!-- System Tools--> + <Menu> + <Name>System</Name> + <Directory>mate-system-tools.directory</Directory> + <Include> + <And> + <Category>System</Category> + <Not><Category>Settings</Category></Not> + </And> + </Include> + </Menu> <!-- End System Tools --> + + <!-- Other --> + <Menu> + <Name>Other</Name> + <Directory>mate-other.directory</Directory> + <OnlyUnallocated/> + <Include> + <And> + <Not><Category>Core</Category></Not> + <Not><Category>Settings</Category></Not> + <Not><Category>Screensaver</Category></Not> + </And> + </Include> + </Menu> <!-- End Other --> + +</Menu> <!-- End Applications --> diff --git a/layout/mate-settings.menu b/layout/mate-settings.menu new file mode 100644 index 0000000..18b7e17 --- /dev/null +++ b/layout/mate-settings.menu @@ -0,0 +1,57 @@ +<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" + "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> + +<Menu> + + <Name>Desktop</Name> + <Directory>mate-menu-system.directory</Directory> + + <!-- Read standard .directory and .desktop file locations --> + <DefaultAppDirs/> + <DefaultDirectoryDirs/> + + <!-- Read in overrides and child menus from applications-merged/ --> + <DefaultMergeDirs/> + + <!-- Add a link to the control center --> + <Include> + <Filename>matecc.desktop</Filename> + </Include> + + <!-- Merge in these other files as submenus --> + <Menu> + <Name>Preferences</Name> + <Directory>mate-settings.directory</Directory> + <Include> + <And> + <Category>Settings</Category> + <Not> + <Or> + <Category>System</Category> + <Filename>matecc.desktop</Filename> + </Or> + </Not> + </And> + </Include> + </Menu> + + <!-- System Settings --> + <Menu> + <Name>Administration</Name> + <Directory>mate-settings-system.directory</Directory> + <Include> + <And> + <Category>Settings</Category> + <Category>System</Category> + </And> + </Include> + </Menu> <!-- End System Settings --> + + <Layout> + <Menuname>Preferences</Menuname> + <Menuname>Administration</Menuname> + <Merge type="menus"/> + <Merge type="files"/> + </Layout> + +</Menu> <!-- End Settings --> diff --git a/libmenu/Makefile.am b/libmenu/Makefile.am new file mode 100644 index 0000000..3d06096 --- /dev/null +++ b/libmenu/Makefile.am @@ -0,0 +1,78 @@ +lib_LTLIBRARIES = libmate-menu.la + +AM_CPPFLAGS = \ + $(GLIB_CFLAGS) \ + -DMATEMENU_I_KNOW_THIS_IS_UNSTABLE \ + $(DISABLE_DEPRECATED_CFLAGS) \ + $(DEBUG_CFLAGS) + +AM_CFLAGS = $(WARN_CFLAGS) + +libmate_menu_includedir = $(includedir)/mate-menus +libmate_menu_include_HEADERS = \ + matemenu-tree.h + +libmate_menu_sources = \ + canonicalize.c \ + desktop-entries.c \ + entry-directories.c \ + matemenu-tree.c \ + menu-layout.c \ + menu-monitor.c \ + menu-util.c + +libmate_menu_la_SOURCES = \ + $(libmate_menu_sources) \ + canonicalize.h \ + desktop-entries.h \ + entry-directories.h \ + matemenu-tree.h \ + menu-layout.h \ + menu-monitor.h \ + menu-util.h + +libmate_menu_la_LIBADD = \ + $(GLIB_LIBS) + +libmate_menu_la_LDFLAGS = \ + -version-info $(LIB_MENU_LT_VERSION) \ + -no-undefined \ + -export-symbols-regex matemenu_tree + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = libmate-menu.pc + +EXTRA_DIST = \ + libmate-menu.pc.in \ + libmate-menu-uninstalled.pc.in + +CLEANFILES = + +# Introspection +-include $(INTROSPECTION_MAKEFILE) +INTROSPECTION_GIRS = +INTROSPECTION_SCANNER_ARGS = --warn-all --add-include-path=$(srcdir) +INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir) + +if HAVE_INTROSPECTION +# Note: we only include the headers here so far because there's no gtk-doc at all anyway +introspection_sources = $(libmate_menu_include_HEADERS) + +MateMenu-2.0.gir: libmate-menu.la +MateMenu_2_0_gir_INCLUDES = GObject-2.0 +MateMenu_2_0_gir_CFLAGS = $(AM_CPPFLAGS) +MateMenu_2_0_gir_LIBS = libmate-menu.la +MateMenu_2_0_gir_SCANNERFLAGS = --pkg-export=libmate-menu +MateMenu_2_0_gir_FILES = $(addprefix $(srcdir)/,$(introspection_sources)) +INTROSPECTION_GIRS += MateMenu-2.0.gir + +girdir = $(INTROSPECTION_GIRDIR) +gir_DATA = $(INTROSPECTION_GIRS) + +typelibdir = $(INTROSPECTION_TYPELIBDIR) +typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib) + +CLEANFILES += $(gir_DATA) $(typelib_DATA) +endif + +-include $(top_srcdir)/git.mk diff --git a/libmenu/canonicalize.c b/libmenu/canonicalize.c new file mode 100644 index 0000000..82082e9 --- /dev/null +++ b/libmenu/canonicalize.c @@ -0,0 +1,326 @@ +/* Return the canonical absolute name of a given file. + * Copyright (C) 1996-2001, 2002 Free Software Foundation, Inc. + * This file is part of the GNU C Library. + * + * Copyright (C) 2002 Red Hat, Inc. (trivial port to GLib) + * + * The GNU C Library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * The GNU C Library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU C Library; if not, write to the Free + * Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + * 02111-1307 USA. + */ + +#include <config.h> + +#include "canonicalize.h" + +#include <stdlib.h> +#include <string.h> +#include <unistd.h> +#include <limits.h> +#include <sys/param.h> +#include <sys/stat.h> +#include <errno.h> +#include <stddef.h> + +/* Return the canonical absolute name of file NAME. A canonical name + does not contain any `.', `..' components nor any repeated path + separators ('/') or symlinks. All path components must exist. If + RESOLVED is null, the result is malloc'd; otherwise, if the + canonical name is PATH_MAX chars or more, returns null with `errno' + set to ENAMETOOLONG; if the name fits in fewer than PATH_MAX chars, + returns the name in RESOLVED. If the name cannot be resolved and + RESOLVED is non-NULL, it contains the path of the first component + that cannot be resolved. If the path can be resolved, RESOLVED + holds the same value as the value returned. */ + +static char* menu_realpath(const char* name, char* resolved) +{ + char* rpath = NULL; + char* dest = NULL; + char* extra_buf = NULL; + const char* start; + const char* end; + const char* rpath_limit; + long int path_max; + int num_links = 0; + + if (name == NULL) + { + /* As per Single Unix Specification V2 we must return an error if + * either parameter is a null pointer. We extend this to allow + * the RESOLVED parameter to be NULL in case the we are expected to + * allocate the room for the return value. */ + errno = EINVAL; + return NULL; + } + + if (name[0] == '\0') + { + /* As per Single Unix Specification V2 we must return an error if + * the name argument points to an empty string. */ + errno = ENOENT; + return NULL; + } + + #ifdef PATH_MAX + path_max = PATH_MAX; + #else + path_max = pathconf(name, _PC_PATH_MAX); + + if (path_max <= 0) + { + path_max = 1024; + } + #endif + + rpath = resolved ? g_alloca(path_max) : g_malloc(path_max); + rpath_limit = rpath + path_max; + + if (name[0] != G_DIR_SEPARATOR) + { + if (!getcwd(rpath, path_max)) + { + rpath[0] = '\0'; + goto error; + } + + dest = strchr(rpath, '\0'); + } + else + { + rpath[0] = G_DIR_SEPARATOR; + dest = rpath + 1; + } + + for (start = end = name; *start; start = end) + { + struct stat st; + int n; + + /* Skip sequence of multiple path-separators. */ + while (*start == G_DIR_SEPARATOR) + { + ++start; + } + + /* Find end of path component. */ + for (end = start; *end && *end != G_DIR_SEPARATOR; ++end) + { + /* Nothing. */; + } + + if (end - start == 0) + { + break; + } + else if (end - start == 1 && start[0] == '.') + { + /* nothing */; + } + else if (end - start == 2 && start[0] == '.' && start[1] == '.') + { + /* Back up to previous component, ignore if at root already. */ + if (dest > rpath + 1) + { + while ((--dest)[-1] != G_DIR_SEPARATOR) + { + /* Nothing. */; + } + } + } + else + { + size_t new_size; + + if (dest[-1] != G_DIR_SEPARATOR) + { + *dest++ = G_DIR_SEPARATOR; + } + + if (dest + (end - start) >= rpath_limit) + { + char* new_rpath; + ptrdiff_t dest_offset = dest - rpath; + + if (resolved) + { + #ifdef ENAMETOOLONG + errno = ENAMETOOLONG; + #else + /* Uh... just pick something */ + errno = EINVAL; + #endif + + if (dest > rpath + 1) + { + dest--; + } + + *dest = '\0'; + goto error; + } + + new_size = rpath_limit - rpath; + + if (end - start + 1 > path_max) + { + new_size += end - start + 1; + } + else + { + new_size += path_max; + } + + new_rpath = (char*) realloc(rpath, new_size); + + if (new_rpath == NULL) + { + goto error; + } + + rpath = new_rpath; + rpath_limit = rpath + new_size; + + dest = rpath + dest_offset; + } + + memcpy(dest, start, end - start); + dest = dest + (end - start); + *dest = '\0'; + + if (stat(rpath, &st) < 0) + { + goto error; + } + + if (S_ISLNK(st.st_mode)) + { + char* buf = alloca(path_max); + size_t len; + + if (++num_links > MAXSYMLINKS) + { + errno = ELOOP; + goto error; + } + + n = readlink(rpath, buf, path_max); + + if (n < 0) + { + goto error; + } + + buf[n] = '\0'; + + + + if (!extra_buf) + { + extra_buf = g_alloca(path_max); + } + + len = strlen(end); + + if ((long int) (n + len) >= path_max) + { + #ifdef ENAMETOOLONG + errno = ENAMETOOLONG; + #else + /* Uh... just pick something */ + errno = EINVAL; + #endif + + goto error; + } + + /* Careful here, end may be a pointer into extra_buf... */ + g_memmove(&extra_buf[n], end, len + 1); + name = end = memcpy(extra_buf, buf, n); + + if (buf[0] == G_DIR_SEPARATOR) + { + dest = rpath + 1; /* It's an absolute symlink */ + } + else + { + /* Back up to previous component, ignore if at root already: */ + if (dest > rpath + 1) + { + while ((--dest)[-1] != G_DIR_SEPARATOR) + { + /* Nothing. */; + } + } + } + } + } + } + + if (dest > rpath + 1 && dest[-1] == G_DIR_SEPARATOR) + { + --dest; + } + + *dest = '\0'; + + return resolved ? memcpy(resolved, rpath, dest - rpath + 1) : rpath; + + error: + + if (resolved) + { + strcpy(resolved, rpath); + } + else + { + g_free(rpath); + } + + return NULL; +} + +char* menu_canonicalize_file_name(const char* name, gboolean allow_missing_basename) +{ + char* retval; + + retval = menu_realpath(name, NULL); + + /* We could avoid some system calls by using the second + * argument to realpath() instead of doing realpath + * all over again, but who cares really. we'll see if + * it's ever in a profile. + */ + if (allow_missing_basename && retval == NULL) + { + char* dirname; + char* canonical_dirname; + + dirname = g_path_get_dirname(name); + canonical_dirname = menu_realpath(dirname, NULL); + g_free(dirname); + + if (canonical_dirname) + { + char* basename; + + basename = g_path_get_basename(name); + retval = g_build_filename(canonical_dirname, basename, NULL); + g_free(basename); + g_free(canonical_dirname); + } + } + + return retval; +} diff --git a/libmenu/canonicalize.h b/libmenu/canonicalize.h new file mode 100644 index 0000000..b5deddc --- /dev/null +++ b/libmenu/canonicalize.h @@ -0,0 +1,38 @@ +/* Return the canonical absolute name of a given file. + * Copyright (C) 1996-2001, 2002 Free Software Foundation, Inc. + * This file is part of the GNU C Library. + * + * Copyright (C) 2002 Red Hat, Inc. (trivial port to GLib) + * + * The GNU C Library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * The GNU C Library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU C Library; if not, write to the Free + * Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + * 02111-1307 USA. + */ + +#ifndef G_CANONICALIZE_H +#define G_CANONICALIZE_H + +#include <glib.h> + +#ifdef __cplusplus +extern "C" { +#endif + +char* menu_canonicalize_file_name(const char* name, gboolean allow_missing_basename); + +#ifdef __cplusplus +} +#endif + +#endif /* G_CANONICALIZE_H */ diff --git a/libmenu/desktop-entries.c b/libmenu/desktop-entries.c new file mode 100644 index 0000000..9488bde --- /dev/null +++ b/libmenu/desktop-entries.c @@ -0,0 +1,816 @@ +/* + * Copyright (C) 2002 - 2004 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include <config.h> + +#include "desktop-entries.h" + +#include <string.h> + +#include "menu-util.h" + +#define DESKTOP_ENTRY_GROUP "Desktop Entry" +#define KDE_DESKTOP_ENTRY_GROUP "KDE Desktop Entry" + +enum { + DESKTOP_ENTRY_NO_DISPLAY = 1 << 0, + DESKTOP_ENTRY_HIDDEN = 1 << 1, + DESKTOP_ENTRY_SHOW_IN_MATE = 1 << 2, + DESKTOP_ENTRY_TRYEXEC_FAILED = 1 << 3 +}; + +struct DesktopEntry { + char* path; + char* basename; + + GQuark* categories; + + char* name; + char* generic_name; + char* full_name; + char* comment; + char* icon; + char* exec; + gboolean terminal; + + guint type: 2; + guint flags: 4; + guint refcount: 24; +}; + +struct DesktopEntrySet { + int refcount; + GHashTable* hash; +}; + +/* + * Desktop entries + */ + +static guint get_flags_from_key_file(DesktopEntry* entry, GKeyFile* key_file, const char* desktop_entry_group) +{ + GError *error; + char **strv; + gboolean no_display; + gboolean hidden; + gboolean show_in_mate; + gboolean tryexec_failed; + char *tryexec; + guint flags; + int i; + + error = NULL; + no_display = g_key_file_get_boolean (key_file, + desktop_entry_group, + "NoDisplay", + &error); + if (error) + { + no_display = FALSE; + g_error_free (error); + } + + error = NULL; + hidden = g_key_file_get_boolean (key_file, + desktop_entry_group, + "Hidden", + &error); + if (error) + { + hidden = FALSE; + g_error_free (error); + } + + show_in_mate = TRUE; + strv = g_key_file_get_string_list (key_file, + desktop_entry_group, + "OnlyShowIn", + NULL, + NULL); + if (strv) + { + show_in_mate = FALSE; + for (i = 0; strv[i]; i++) + { + if (!strcmp (strv[i], "MATE")) + { + show_in_mate = TRUE; + break; + } + } + } + else + { + strv = g_key_file_get_string_list (key_file, + desktop_entry_group, + "NotShowIn", + NULL, + NULL); + if (strv) + { + show_in_mate = TRUE; + for (i = 0; strv[i]; i++) + { + if (!strcmp (strv[i], "MATE")) + { + show_in_mate = FALSE; + } + } + } + } + g_strfreev (strv); + + tryexec_failed = FALSE; + tryexec = g_key_file_get_string (key_file, + desktop_entry_group, + "TryExec", + NULL); + if (tryexec) + { + char *path; + + path = g_find_program_in_path (g_strstrip (tryexec)); + + tryexec_failed = (path == NULL); + + g_free (path); + g_free (tryexec); + } + + flags = 0; + if (no_display) + flags |= DESKTOP_ENTRY_NO_DISPLAY; + if (hidden) + flags |= DESKTOP_ENTRY_HIDDEN; + if (show_in_mate) + flags |= DESKTOP_ENTRY_SHOW_IN_MATE; + if (tryexec_failed) + flags |= DESKTOP_ENTRY_TRYEXEC_FAILED; + + return flags; +} + +static GQuark* get_categories_from_key_file (DesktopEntry* entry, GKeyFile* key_file, const char* desktop_entry_group) +{ + GQuark *retval; + char **strv; + gsize len; + int i; + + strv = g_key_file_get_string_list (key_file, + desktop_entry_group, + "Categories", + &len, + NULL); + if (!strv) + return NULL; + + retval = g_new0 (GQuark, len + 1); + + for (i = 0; strv[i]; i++) + retval[i] = g_quark_from_string (strv[i]); + + g_strfreev (strv); + + return retval; +} + +static DesktopEntry* desktop_entry_load(DesktopEntry* entry) +{ + DesktopEntry *retval = NULL; + GKeyFile *key_file; + GError *error; + const char *desktop_entry_group; + char *name_str; + char *type_str; + + key_file = g_key_file_new (); + + error = NULL; + if (!g_key_file_load_from_file (key_file, entry->path, 0, &error)) + { + menu_verbose ("Failed to load \"%s\": %s\n", + entry->path, error->message); + g_error_free (error); + goto out; + } + + if (g_key_file_has_group (key_file, DESKTOP_ENTRY_GROUP)) + { + desktop_entry_group = DESKTOP_ENTRY_GROUP; + } + else + { + menu_verbose ("\"%s\" contains no \"" DESKTOP_ENTRY_GROUP "\" group\n", + entry->path); + + if (g_key_file_has_group (key_file, KDE_DESKTOP_ENTRY_GROUP)) + { + desktop_entry_group = KDE_DESKTOP_ENTRY_GROUP; + menu_verbose ("\"%s\" contains deprecated \"" KDE_DESKTOP_ENTRY_GROUP "\" group\n", + entry->path); + } + else + { + goto out; + } + } + + if (!g_key_file_has_key (key_file, desktop_entry_group, "Name", NULL)) + { + menu_verbose ("\"%s\" contains no \"Name\" key\n", entry->path); + goto out; + } + + name_str = g_key_file_get_locale_string (key_file, desktop_entry_group, "Name", NULL, NULL); + if (!name_str) + { + menu_verbose ("\"%s\" contains an invalid \"Name\" key\n", entry->path); + goto out; + } + + g_free (name_str); + + type_str = g_key_file_get_string (key_file, desktop_entry_group, "Type", NULL); + if (!type_str) + { + menu_verbose ("\"%s\" contains no \"Type\" key\n", entry->path); + goto out; + } + + if ((entry->type == DESKTOP_ENTRY_DESKTOP && strcmp (type_str, "Application") != 0) || + (entry->type == DESKTOP_ENTRY_DIRECTORY && strcmp (type_str, "Directory") != 0)) + { + menu_verbose ("\"%s\" does not contain the correct \"Type\" value\n", entry->path); + g_free (type_str); + goto out; + } + + g_free (type_str); + + if (entry->type == DESKTOP_ENTRY_DESKTOP && + !g_key_file_has_key (key_file, desktop_entry_group, "Exec", NULL)) + { + menu_verbose ("\"%s\" does not contain an \"Exec\" key\n", entry->path); + goto out; + } + + retval = entry; + +#define GET_LOCALE_STRING(n) g_key_file_get_locale_string (key_file, desktop_entry_group, (n), NULL, NULL) + + retval->name = GET_LOCALE_STRING ("Name"); + retval->generic_name = GET_LOCALE_STRING ("GenericName"); + retval->full_name = GET_LOCALE_STRING ("X-MATE-FullName"); + retval->comment = GET_LOCALE_STRING ("Comment"); + retval->icon = GET_LOCALE_STRING ("Icon"); + retval->flags = get_flags_from_key_file (retval, key_file, desktop_entry_group); + retval->categories = get_categories_from_key_file (retval, key_file, desktop_entry_group); + + if (entry->type == DESKTOP_ENTRY_DESKTOP) + { + retval->exec = g_key_file_get_string (key_file, desktop_entry_group, "Exec", NULL); + retval->terminal = g_key_file_get_boolean (key_file, desktop_entry_group, "Terminal", NULL); + } + +#undef GET_LOCALE_STRING + + menu_verbose ("Desktop entry \"%s\" (%s, %s, %s, %s, %s) flags: NoDisplay=%s, Hidden=%s, ShowInMATE=%s, TryExecFailed=%s\n", + retval->basename, + retval->name, + retval->generic_name ? retval->generic_name : "(null)", + retval->full_name ? retval->full_name : "(null)", + retval->comment ? retval->comment : "(null)", + retval->icon ? retval->icon : "(null)", + retval->flags & DESKTOP_ENTRY_NO_DISPLAY ? "(true)" : "(false)", + retval->flags & DESKTOP_ENTRY_HIDDEN ? "(true)" : "(false)", + retval->flags & DESKTOP_ENTRY_SHOW_IN_MATE ? "(true)" : "(false)", + retval->flags & DESKTOP_ENTRY_TRYEXEC_FAILED ? "(true)" : "(false)"); + + out: + g_key_file_free (key_file); + + if (!retval) + desktop_entry_unref (entry); + + return retval; +} + +DesktopEntry* desktop_entry_new(const char* path) +{ + DesktopEntryType type; + DesktopEntry *retval; + + menu_verbose ("Loading desktop entry \"%s\"\n", path); + + if (g_str_has_suffix (path, ".desktop")) + { + type = DESKTOP_ENTRY_DESKTOP; + } + else if (g_str_has_suffix (path, ".directory")) + { + type = DESKTOP_ENTRY_DIRECTORY; + } + else + { + menu_verbose ("Unknown desktop entry suffix in \"%s\"\n", + path); + return NULL; + } + + retval = g_new0 (DesktopEntry, 1); + + retval->refcount = 1; + retval->type = type; + retval->basename = g_path_get_basename (path); + retval->path = g_strdup (path); + + return desktop_entry_load (retval); +} + +DesktopEntry* desktop_entry_reload(DesktopEntry* entry) +{ + g_return_val_if_fail (entry != NULL, NULL); + + menu_verbose ("Re-loading desktop entry \"%s\"\n", entry->path); + + g_free (entry->categories); + entry->categories = NULL; + + g_free (entry->name); + entry->name = NULL; + + g_free (entry->generic_name); + entry->generic_name = NULL; + + g_free (entry->full_name); + entry->full_name = NULL; + + g_free (entry->comment); + entry->comment = NULL; + + g_free (entry->icon); + entry->icon = NULL; + + g_free (entry->exec); + entry->exec = NULL; + + entry->terminal = 0; + entry->flags = 0; + + return desktop_entry_load (entry); +} + +DesktopEntry* desktop_entry_ref(DesktopEntry* entry) +{ + g_return_val_if_fail (entry != NULL, NULL); + g_return_val_if_fail (entry->refcount > 0, NULL); + + entry->refcount += 1; + + return entry; +} + +DesktopEntry* desktop_entry_copy(DesktopEntry* entry) +{ + DesktopEntry *retval; + int i; + + menu_verbose ("Copying desktop entry \"%s\"\n", + entry->basename); + + retval = g_new0 (DesktopEntry, 1); + + retval->refcount = 1; + retval->type = entry->type; + retval->basename = g_strdup (entry->basename); + retval->path = g_strdup (entry->path); + retval->name = g_strdup (entry->name); + retval->generic_name = g_strdup (entry->generic_name); + retval->full_name = g_strdup (entry->full_name); + retval->comment = g_strdup (entry->comment); + retval->icon = g_strdup (entry->icon); + retval->exec = g_strdup (entry->exec); + retval->terminal = entry->terminal; + retval->flags = entry->flags; + + i = 0; + if (entry->categories != NULL) + { + for (; entry->categories[i]; i++); + } + + retval->categories = g_new0 (GQuark, i + 1); + + i = 0; + if (entry->categories != NULL) + { + for (; entry->categories[i]; i++) + retval->categories[i] = entry->categories[i]; + } + + return retval; +} + +void desktop_entry_unref(DesktopEntry* entry) +{ + g_return_if_fail (entry != NULL); + g_return_if_fail (entry->refcount > 0); + + entry->refcount -= 1; + if (entry->refcount == 0) + { + g_free (entry->categories); + entry->categories = NULL; + + g_free (entry->name); + entry->name = NULL; + + g_free (entry->generic_name); + entry->generic_name = NULL; + + g_free (entry->full_name); + entry->full_name = NULL; + + g_free (entry->comment); + entry->comment = NULL; + + g_free (entry->icon); + entry->icon = NULL; + + g_free (entry->exec); + entry->exec = NULL; + + g_free (entry->basename); + entry->basename = NULL; + + g_free (entry->path); + entry->path = NULL; + + g_free (entry); + } +} + +DesktopEntryType desktop_entry_get_type(DesktopEntry* entry) +{ + return entry->type; +} + +const char* desktop_entry_get_path(DesktopEntry* entry) +{ + return entry->path; +} + +const char * +desktop_entry_get_basename (DesktopEntry *entry) +{ + return entry->basename; +} + +const char* desktop_entry_get_name(DesktopEntry* entry) +{ + return entry->name; +} + +const char* desktop_entry_get_generic_name(DesktopEntry* entry) +{ + return entry->generic_name; +} + +const char* desktop_entry_get_full_name(DesktopEntry* entry) +{ + return entry->full_name; +} + +const char* desktop_entry_get_comment(DesktopEntry* entry) +{ + return entry->comment; +} + +const char* desktop_entry_get_icon(DesktopEntry* entry) +{ + return entry->icon; +} + +const char* desktop_entry_get_exec(DesktopEntry* entry) +{ + return entry->exec; +} + +gboolean desktop_entry_get_launch_in_terminal(DesktopEntry* entry) +{ + return entry->terminal; +} + +gboolean desktop_entry_get_hidden(DesktopEntry* entry) +{ + return (entry->flags & DESKTOP_ENTRY_HIDDEN) != 0; +} + +gboolean desktop_entry_get_no_display(DesktopEntry* entry) +{ + return (entry->flags & DESKTOP_ENTRY_NO_DISPLAY) != 0; +} + +gboolean desktop_entry_get_show_in_mate(DesktopEntry* entry) +{ + return (entry->flags & DESKTOP_ENTRY_SHOW_IN_MATE) != 0; +} + +gboolean desktop_entry_get_tryexec_failed(DesktopEntry* entry) +{ + return (entry->flags & DESKTOP_ENTRY_TRYEXEC_FAILED) != 0; +} + +gboolean desktop_entry_has_categories(DesktopEntry* entry) +{ + return (entry->categories != NULL && entry->categories[0] != 0); +} + +gboolean desktop_entry_has_category(DesktopEntry* entry, const char* category) +{ + GQuark quark; + int i; + + if (entry->categories == NULL) + return FALSE; + + if (!(quark = g_quark_try_string (category))) + return FALSE; + + for (i = 0; entry->categories[i]; i++) + { + if (quark == entry->categories[i]) + return TRUE; + } + + return FALSE; +} + +void desktop_entry_add_legacy_category(DesktopEntry* entry) +{ + GQuark *categories; + int i; + + menu_verbose ("Adding Legacy category to \"%s\"\n", + entry->basename); + + i = 0; + if (entry->categories != NULL) + { + for (; entry->categories[i]; i++); + } + + categories = g_new0 (GQuark, i + 2); + + i = 0; + if (entry->categories != NULL) + { + for (; entry->categories[i]; i++) + categories[i] = entry->categories[i]; + } + + categories[i] = g_quark_from_string ("Legacy"); + + g_free (entry->categories); + entry->categories = categories; +} + +/* + * Entry sets + */ + +DesktopEntrySet* desktop_entry_set_new(void) +{ + DesktopEntrySet *set; + + set = g_new0 (DesktopEntrySet, 1); + set->refcount = 1; + + menu_verbose (" New entry set %p\n", set); + + return set; +} + +DesktopEntrySet* desktop_entry_set_ref(DesktopEntrySet* set) +{ + g_return_val_if_fail (set != NULL, NULL); + g_return_val_if_fail (set->refcount > 0, NULL); + + set->refcount += 1; + + return set; +} + +void desktop_entry_set_unref(DesktopEntrySet* set) +{ + g_return_if_fail (set != NULL); + g_return_if_fail (set->refcount > 0); + + set->refcount -= 1; + if (set->refcount == 0) + { + menu_verbose (" Deleting entry set %p\n", set); + + if (set->hash) + g_hash_table_destroy (set->hash); + set->hash = NULL; + + g_free (set); + } +} + +void desktop_entry_set_add_entry(DesktopEntrySet* set, DesktopEntry* entry, const char* file_id) +{ + menu_verbose (" Adding to set %p entry %s\n", set, file_id); + + if (set->hash == NULL) + { + set->hash = g_hash_table_new_full (g_str_hash, + g_str_equal, + g_free, + (GDestroyNotify) desktop_entry_unref); + } + + g_hash_table_replace (set->hash, + g_strdup (file_id), + desktop_entry_ref (entry)); +} + +DesktopEntry* desktop_entry_set_lookup(DesktopEntrySet* set, const char* file_id) +{ + if (set->hash == NULL) + return NULL; + + return g_hash_table_lookup (set->hash, file_id); +} + +typedef struct { + DesktopEntrySetForeachFunc func; + gpointer user_data; +} EntryHashForeachData; + +static void entry_hash_foreach(const char* file_id, DesktopEntry* entry, EntryHashForeachData* fd) +{ + fd->func(file_id, entry, fd->user_data); +} + +void desktop_entry_set_foreach(DesktopEntrySet* set, DesktopEntrySetForeachFunc func, gpointer user_data) +{ + g_return_if_fail (set != NULL); + g_return_if_fail (func != NULL); + + if (set->hash != NULL) + { + EntryHashForeachData fd; + + fd.func = func; + fd.user_data = user_data; + + g_hash_table_foreach (set->hash, + (GHFunc) entry_hash_foreach, + &fd); + } +} + +static void desktop_entry_set_clear(DesktopEntrySet* set) +{ + menu_verbose (" Clearing set %p\n", set); + + if (set->hash != NULL) + { + g_hash_table_destroy (set->hash); + set->hash = NULL; + } +} + +int desktop_entry_set_get_count(DesktopEntrySet* set) +{ + if (set->hash == NULL) + return 0; + + return g_hash_table_size (set->hash); +} + +static void union_foreach(const char* file_id, DesktopEntry* entry, DesktopEntrySet* set) +{ + /* we are iterating over "with" adding anything not + * already in "set". We unconditionally overwrite + * the stuff in "set" because we can assume + * two entries with the same name are equivalent. + */ + desktop_entry_set_add_entry(set, entry, file_id); +} + +void desktop_entry_set_union(DesktopEntrySet* set, DesktopEntrySet* with) +{ + menu_verbose (" Union of %p and %p\n", set, with); + + if (desktop_entry_set_get_count (with) == 0) + return; /* A fast simple case */ + + g_hash_table_foreach (with->hash, + (GHFunc) union_foreach, + set); +} + +typedef struct { + DesktopEntrySet *set; + DesktopEntrySet *with; +} IntersectData; + +static gboolean intersect_foreach_remove(const char* file_id, DesktopEntry* entry, IntersectData* id) +{ + /* Remove everything in "set" which is not in "with" */ + + if (g_hash_table_lookup (id->with->hash, file_id) != NULL) + return FALSE; + + menu_verbose (" Removing from %p entry %s\n", id->set, file_id); + + return TRUE; /* return TRUE to remove */ +} + +void desktop_entry_set_intersection(DesktopEntrySet* set, DesktopEntrySet* with) +{ + IntersectData id; + + menu_verbose (" Intersection of %p and %p\n", set, with); + + if (desktop_entry_set_get_count (set) == 0 || + desktop_entry_set_get_count (with) == 0) + { + /* A fast simple case */ + desktop_entry_set_clear (set); + return; + } + + id.set = set; + id.with = with; + + g_hash_table_foreach_remove (set->hash, + (GHRFunc) intersect_foreach_remove, + &id); +} + +typedef struct { + DesktopEntrySet *set; + DesktopEntrySet *other; +} SubtractData; + +static gboolean subtract_foreach_remove(const char* file_id, DesktopEntry* entry, SubtractData* sd) +{ + /* Remove everything in "set" which is not in "other" */ + + if (g_hash_table_lookup (sd->other->hash, file_id) == NULL) + return FALSE; + + menu_verbose (" Removing from %p entry %s\n", sd->set, file_id); + + return TRUE; /* return TRUE to remove */ +} + +void desktop_entry_set_subtract(DesktopEntrySet* set, DesktopEntrySet* other) +{ + SubtractData sd; + + menu_verbose (" Subtract from %p set %p\n", set, other); + + if (desktop_entry_set_get_count (set) == 0 || + desktop_entry_set_get_count (other) == 0) + return; /* A fast simple case */ + + sd.set = set; + sd.other = other; + + g_hash_table_foreach_remove (set->hash, + (GHRFunc) subtract_foreach_remove, + &sd); +} + +void desktop_entry_set_swap_contents(DesktopEntrySet* a, DesktopEntrySet* b) +{ + GHashTable *tmp; + + menu_verbose (" Swap contents of %p and %p\n", a, b); + + tmp = a->hash; + a->hash = b->hash; + b->hash = tmp; +} diff --git a/libmenu/desktop-entries.h b/libmenu/desktop-entries.h new file mode 100644 index 0000000..19d9abd --- /dev/null +++ b/libmenu/desktop-entries.h @@ -0,0 +1,90 @@ +/* + * Copyright (C) 2002 - 2004 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __DESKTOP_ENTRIES_H__ +#define __DESKTOP_ENTRIES_H__ + +#include <glib.h> + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + DESKTOP_ENTRY_INVALID = 0, + DESKTOP_ENTRY_DESKTOP, + DESKTOP_ENTRY_DIRECTORY +} DesktopEntryType; + +typedef struct DesktopEntry DesktopEntry; + +DesktopEntry* desktop_entry_new(const char* path); + +DesktopEntry* desktop_entry_ref(DesktopEntry* entry); +DesktopEntry* desktop_entry_copy(DesktopEntry* entry); +DesktopEntry* desktop_entry_reload(DesktopEntry* entry); +void desktop_entry_unref(DesktopEntry* entry); + +DesktopEntryType desktop_entry_get_type(DesktopEntry* entry); +const char* desktop_entry_get_path(DesktopEntry* entry); +const char* desktop_entry_get_basename(DesktopEntry* entry); + +const char* desktop_entry_get_name(DesktopEntry* entry); +const char* desktop_entry_get_generic_name(DesktopEntry* entry); +const char* desktop_entry_get_full_name(DesktopEntry* entry); +const char* desktop_entry_get_comment(DesktopEntry* entry); +const char* desktop_entry_get_icon(DesktopEntry* entry); +const char* desktop_entry_get_exec(DesktopEntry* entry); +gboolean desktop_entry_get_launch_in_terminal(DesktopEntry* entry); + +gboolean desktop_entry_get_hidden(DesktopEntry* entry); +gboolean desktop_entry_get_no_display(DesktopEntry* entry); +gboolean desktop_entry_get_show_in_mate(DesktopEntry* entry); +gboolean desktop_entry_get_tryexec_failed(DesktopEntry* entry); + +gboolean desktop_entry_has_categories(DesktopEntry* entry); +gboolean desktop_entry_has_category(DesktopEntry* entry, const char* category); + +void desktop_entry_add_legacy_category(DesktopEntry* src); + + +typedef struct DesktopEntrySet DesktopEntrySet; + +DesktopEntrySet* desktop_entry_set_new(void); +DesktopEntrySet* desktop_entry_set_ref(DesktopEntrySet* set); +void desktop_entry_set_unref(DesktopEntrySet* set); + +void desktop_entry_set_add_entry(DesktopEntrySet* set, DesktopEntry* entry, const char* file_id); +DesktopEntry* desktop_entry_set_lookup(DesktopEntrySet* set, const char* file_id); +int desktop_entry_set_get_count(DesktopEntrySet* set); + +void desktop_entry_set_union(DesktopEntrySet* set, DesktopEntrySet* with); +void desktop_entry_set_intersection(DesktopEntrySet* set, DesktopEntrySet* with); +void desktop_entry_set_subtract(DesktopEntrySet* set, DesktopEntrySet* other); +void desktop_entry_set_swap_contents(DesktopEntrySet* a, DesktopEntrySet* b); + +typedef void (*DesktopEntrySetForeachFunc) (const char* file_id, DesktopEntry* entry, gpointer user_data); + +void desktop_entry_set_foreach(DesktopEntrySet* set, DesktopEntrySetForeachFunc func, gpointer user_data); + +#ifdef __cplusplus +} +#endif + +#endif /* __DESKTOP_ENTRIES_H__ */ diff --git a/libmenu/entry-directories.c b/libmenu/entry-directories.c new file mode 100644 index 0000000..a442a65 --- /dev/null +++ b/libmenu/entry-directories.c @@ -0,0 +1,1105 @@ +/* + * Copyright (C) 2002 - 2004 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include <config.h> + +#include "entry-directories.h" + +#include <string.h> +#include <errno.h> +#include <sys/types.h> +#include <dirent.h> + +#include "menu-util.h" +#include "menu-monitor.h" +#include "canonicalize.h" + +typedef struct CachedDir CachedDir; +typedef struct CachedDirMonitor CachedDirMonitor; + +struct EntryDirectory { + CachedDir* dir; + char* legacy_prefix; + + guint entry_type: 2; + guint is_legacy: 1; + guint refcount: 24; +}; + +struct EntryDirectoryList { + int refcount; + int length; + GList* dirs; +}; + +struct CachedDir { + CachedDir* parent; + char* name; + + GSList* entries; + GSList* subdirs; + + MenuMonitor* dir_monitor; + GSList* monitors; + + guint have_read_entries: 1; + guint deleted: 1; + + guint references: 28; +}; + +struct CachedDirMonitor { + EntryDirectory* ed; + EntryDirectoryChangedFunc callback; + gpointer user_data; +}; + +static void cached_dir_free(CachedDir* dir); +static gboolean cached_dir_load_entries_recursive(CachedDir* dir, const char* dirname); + +static void handle_cached_dir_changed(MenuMonitor* monitor, MenuMonitorEvent event, const char* path, CachedDir* dir); + +/* + * Entry directory cache + */ + +static CachedDir* dir_cache = NULL; + +static CachedDir* cached_dir_new(const char *name) +{ + CachedDir* dir; + + dir = g_new0(CachedDir, 1); + + dir->name = g_strdup(name); + + return dir; +} + +static void cached_dir_free(CachedDir* dir) +{ + if (dir->dir_monitor) + { + menu_monitor_remove_notify (dir->dir_monitor, + (MenuMonitorNotifyFunc) handle_cached_dir_changed, + dir); + menu_monitor_unref (dir->dir_monitor); + dir->dir_monitor = NULL; + } + + g_slist_foreach (dir->monitors, (GFunc) g_free, NULL); + g_slist_free (dir->monitors); + dir->monitors = NULL; + + g_slist_foreach (dir->entries, + (GFunc) desktop_entry_unref, + NULL); + g_slist_free (dir->entries); + dir->entries = NULL; + + g_slist_foreach (dir->subdirs, + (GFunc) cached_dir_free, + NULL); + g_slist_free (dir->subdirs); + dir->subdirs = NULL; + + g_free (dir->name); + g_free (dir); +} + +static inline CachedDir* find_subdir(CachedDir* dir, const char* subdir) +{ + GSList *tmp; + + tmp = dir->subdirs; + while (tmp != NULL) + { + CachedDir *sub = tmp->data; + + if (strcmp (sub->name, subdir) == 0) + return sub; + + tmp = tmp->next; + } + + return NULL; +} + +static DesktopEntry* find_entry(CachedDir* dir, const char* basename) +{ + GSList *tmp; + + tmp = dir->entries; + while (tmp != NULL) + { + if (strcmp (desktop_entry_get_basename (tmp->data), basename) == 0) + return tmp->data; + + tmp = tmp->next; + } + + return NULL; +} + +static DesktopEntry* cached_dir_find_relative_path(CachedDir* dir, const char* relative_path) +{ + DesktopEntry *retval = NULL; + char **split; + int i; + + split = g_strsplit (relative_path, "/", -1); + + i = 0; + while (split[i] != NULL) + { + if (split[i + 1] != NULL) + { + if ((dir = find_subdir (dir, split[i])) == NULL) + break; + } + else + { + retval = find_entry (dir, split[i]); + break; + } + + ++i; + } + + g_strfreev (split); + + return retval; +} + +static CachedDir* cached_dir_lookup(const char* canonical) +{ + CachedDir *dir; + char **split; + int i; + + if (dir_cache == NULL) + dir_cache = cached_dir_new ("/"); + dir = dir_cache; + + g_assert (canonical != NULL && canonical[0] == G_DIR_SEPARATOR); + + menu_verbose ("Looking up cached dir \"%s\"\n", canonical); + + split = g_strsplit (canonical + 1, "/", -1); + + i = 0; + while (split[i] != NULL) + { + CachedDir *subdir; + + if ((subdir = find_subdir (dir, split[i])) == NULL) + { + subdir = cached_dir_new (split[i]); + dir->subdirs = g_slist_prepend (dir->subdirs, subdir); + subdir->parent = dir; + } + + dir = subdir; + + ++i; + } + + g_strfreev (split); + + g_assert (dir != NULL); + + return dir; +} + +static gboolean cached_dir_add_entry(CachedDir* dir, const char* basename, const char* path) +{ + DesktopEntry *entry; + + entry = desktop_entry_new (path); + if (entry == NULL) + return FALSE; + + dir->entries = g_slist_prepend (dir->entries, entry); + + return TRUE; +} + +static gboolean cached_dir_update_entry(CachedDir* dir, const char* basename, const char* path) +{ + GSList *tmp; + + tmp = dir->entries; + while (tmp != NULL) + { + if (strcmp (desktop_entry_get_basename (tmp->data), basename) == 0) + { + if (!desktop_entry_reload (tmp->data)) + { + dir->entries = g_slist_delete_link (dir->entries, tmp); + } + + return TRUE; + } + + tmp = tmp->next; + } + + return cached_dir_add_entry (dir, basename, path); +} + +static gboolean cached_dir_remove_entry(CachedDir* dir, const char* basename) +{ + GSList *tmp; + + tmp = dir->entries; + while (tmp != NULL) + { + if (strcmp (desktop_entry_get_basename (tmp->data), basename) == 0) + { + desktop_entry_unref (tmp->data); + dir->entries = g_slist_delete_link (dir->entries, tmp); + return TRUE; + } + + tmp = tmp->next; + } + + return FALSE; +} + +static gboolean cached_dir_add_subdir(CachedDir* dir, const char* basename, const char* path) +{ + CachedDir *subdir; + + subdir = find_subdir (dir, basename); + + if (subdir != NULL) + { + subdir->deleted = FALSE; + return TRUE; + } + + subdir = cached_dir_new (basename); + + if (!cached_dir_load_entries_recursive (subdir, path)) + { + cached_dir_free (subdir); + return FALSE; + } + + menu_verbose ("Caching dir \"%s\"\n", basename); + + subdir->parent = dir; + dir->subdirs = g_slist_prepend (dir->subdirs, subdir); + + return TRUE; +} + +static gboolean cached_dir_remove_subdir(CachedDir* dir, const char* basename) +{ + CachedDir *subdir; + + subdir = find_subdir (dir, basename); + + if (subdir != NULL) + { + subdir->deleted = TRUE; + + if (subdir->references == 0) + { + cached_dir_free (subdir); + dir->subdirs = g_slist_remove (dir->subdirs, subdir); + } + + return TRUE; + } + + return FALSE; +} + +static void cached_dir_invoke_monitors(CachedDir* dir) +{ + GSList *tmp; + + tmp = dir->monitors; + while (tmp != NULL) + { + CachedDirMonitor *monitor = tmp->data; + GSList *next = tmp->next; + + monitor->callback (monitor->ed, monitor->user_data); + + tmp = next; + } + + if (dir->parent) + { + cached_dir_invoke_monitors (dir->parent); + } +} + +static void handle_cached_dir_changed (MenuMonitor* monitor, MenuMonitorEvent event, const char* path, CachedDir* dir) +{ + gboolean handled = FALSE; + char *basename; + char *dirname; + + menu_verbose ("'%s' notified of '%s' %s - invalidating cache\n", + dir->name, + path, + event == MENU_MONITOR_EVENT_CREATED ? ("created") : + event == MENU_MONITOR_EVENT_DELETED ? ("deleted") : ("changed")); + + dirname = g_path_get_dirname (path); + basename = g_path_get_basename (path); + + dir = cached_dir_lookup (dirname); + + if (g_str_has_suffix (basename, ".desktop") || + g_str_has_suffix (basename, ".directory")) + { + switch (event) + { + case MENU_MONITOR_EVENT_CREATED: + case MENU_MONITOR_EVENT_CHANGED: + handled = cached_dir_update_entry (dir, basename, path); + break; + + case MENU_MONITOR_EVENT_DELETED: + handled = cached_dir_remove_entry (dir, basename); + break; + + default: + g_assert_not_reached (); + break; + } + } + else /* Try recursing */ + { + switch (event) + { + case MENU_MONITOR_EVENT_CREATED: + handled = cached_dir_add_subdir (dir, basename, path); + break; + + case MENU_MONITOR_EVENT_CHANGED: + break; + + case MENU_MONITOR_EVENT_DELETED: + handled = cached_dir_remove_subdir (dir, basename); + break; + + default: + g_assert_not_reached (); + break; + } + } + + g_free (basename); + g_free (dirname); + + if (handled) + { + /* CHANGED events don't change the set of desktop entries */ + if (event == MENU_MONITOR_EVENT_CREATED || event == MENU_MONITOR_EVENT_DELETED) + { + _entry_directory_list_empty_desktop_cache (); + } + + cached_dir_invoke_monitors (dir); + } +} + +static void cached_dir_ensure_monitor(CachedDir* dir, const char* dirname) +{ + if (dir->dir_monitor == NULL) + { + dir->dir_monitor = menu_get_directory_monitor (dirname); + menu_monitor_add_notify (dir->dir_monitor, + (MenuMonitorNotifyFunc) handle_cached_dir_changed, + dir); + } +} + +static gboolean cached_dir_load_entries_recursive(CachedDir* dir, const char* dirname) +{ + DIR *dp; + struct dirent *dent; + GString *fullpath; + gsize fullpath_len; + + g_assert (dir != NULL); + + if (dir->have_read_entries) + return TRUE; + + menu_verbose ("Attempting to read entries from %s (full path %s)\n", + dir->name, dirname); + + dp = opendir (dirname); + if (dp == NULL) + { + menu_verbose ("Unable to list directory \"%s\"\n", + dirname); + return FALSE; + } + + cached_dir_ensure_monitor (dir, dirname); + + fullpath = g_string_new (dirname); + if (fullpath->str[fullpath->len - 1] != G_DIR_SEPARATOR) + g_string_append_c (fullpath, G_DIR_SEPARATOR); + + fullpath_len = fullpath->len; + + while ((dent = readdir (dp)) != NULL) + { + /* ignore . and .. */ + if (dent->d_name[0] == '.' && + (dent->d_name[1] == '\0' || + (dent->d_name[1] == '.' && + dent->d_name[2] == '\0'))) + continue; + + g_string_append (fullpath, dent->d_name); + + if (g_str_has_suffix (dent->d_name, ".desktop") || + g_str_has_suffix (dent->d_name, ".directory")) + { + cached_dir_add_entry (dir, dent->d_name, fullpath->str); + } + else /* Try recursing */ + { + cached_dir_add_subdir (dir, dent->d_name, fullpath->str); + } + + g_string_truncate (fullpath, fullpath_len); + } + + closedir (dp); + + g_string_free (fullpath, TRUE); + + dir->have_read_entries = TRUE; + + return TRUE; +} + +static void cached_dir_add_monitor(CachedDir* dir, EntryDirectory* ed, EntryDirectoryChangedFunc callback, gpointer user_data) +{ + CachedDirMonitor *monitor; + GSList *tmp; + + tmp = dir->monitors; + while (tmp != NULL) + { + monitor = tmp->data; + + if (monitor->ed == ed && + monitor->callback == callback && + monitor->user_data == user_data) + break; + + tmp = tmp->next; + } + + if (tmp == NULL) + { + monitor = g_new0 (CachedDirMonitor, 1); + monitor->ed = ed; + monitor->callback = callback; + monitor->user_data = user_data; + + dir->monitors = g_slist_append (dir->monitors, monitor); + } +} + +static void cached_dir_remove_monitor(CachedDir* dir, EntryDirectory* ed, EntryDirectoryChangedFunc callback, gpointer user_data) +{ + GSList *tmp; + + tmp = dir->monitors; + while (tmp != NULL) + { + CachedDirMonitor *monitor = tmp->data; + GSList *next = tmp->next; + + if (monitor->ed == ed && + monitor->callback == callback && + monitor->user_data == user_data) + { + dir->monitors = g_slist_delete_link (dir->monitors, tmp); + g_free (monitor); + } + + tmp = next; + } +} + +static void cached_dir_add_reference(CachedDir* dir) +{ + dir->references++; + + if (dir->parent != NULL) + { + cached_dir_add_reference (dir->parent); + } +} + +static void cached_dir_remove_reference(CachedDir* dir) +{ + CachedDir *parent; + + parent = dir->parent; + + if (--dir->references == 0 && dir->deleted) + { + if (dir->parent != NULL) + { + GSList *tmp; + + tmp = parent->subdirs; + while (tmp != NULL) + { + CachedDir *subdir = tmp->data; + + if (!strcmp (subdir->name, dir->name)) + { + parent->subdirs = g_slist_delete_link (parent->subdirs, tmp); + break; + } + + tmp = tmp->next; + } + } + + cached_dir_free (dir); + } + + if (parent != NULL) + { + cached_dir_remove_reference (parent); + } +} + +/* + * Entry directories + */ + +static EntryDirectory* entry_directory_new_full(DesktopEntryType entry_type, const char* path, gboolean is_legacy, const char* legacy_prefix) +{ + EntryDirectory *ed; + char *canonical; + + menu_verbose ("Loading entry directory \"%s\" (legacy %s)\n", + path, + is_legacy ? "<yes>" : "<no>"); + + canonical = menu_canonicalize_file_name (path, FALSE); + if (canonical == NULL) + { + menu_verbose ("Failed to canonicalize \"%s\": %s\n", + path, g_strerror (errno)); + return NULL; + } + + ed = g_new0 (EntryDirectory, 1); + + ed->dir = cached_dir_lookup (canonical); + g_assert (ed->dir != NULL); + + cached_dir_add_reference (ed->dir); + cached_dir_load_entries_recursive (ed->dir, canonical); + + ed->legacy_prefix = g_strdup (legacy_prefix); + ed->entry_type = entry_type; + ed->is_legacy = is_legacy != FALSE; + ed->refcount = 1; + + g_free (canonical); + + return ed; +} + +EntryDirectory* entry_directory_new(DesktopEntryType entry_type, const char* path) +{ + return entry_directory_new_full (entry_type, path, FALSE, NULL); +} + +EntryDirectory* entry_directory_new_legacy(DesktopEntryType entry_type, const char* path, const char* legacy_prefix) +{ + return entry_directory_new_full(entry_type, path, TRUE, legacy_prefix); +} + +EntryDirectory* entry_directory_ref(EntryDirectory* ed) +{ + g_return_val_if_fail(ed != NULL, NULL); + g_return_val_if_fail(ed->refcount > 0, NULL); + + ed->refcount++; + + return ed; +} + +void entry_directory_unref(EntryDirectory* ed) +{ + g_return_if_fail (ed != NULL); + g_return_if_fail (ed->refcount > 0); + + if (--ed->refcount == 0) + { + cached_dir_remove_reference (ed->dir); + + ed->dir = NULL; + ed->entry_type = DESKTOP_ENTRY_INVALID; + ed->is_legacy = FALSE; + + g_free (ed->legacy_prefix); + ed->legacy_prefix = NULL; + + g_free (ed); + } +} + +static void entry_directory_add_monitor(EntryDirectory* ed, EntryDirectoryChangedFunc callback, gpointer user_data) +{ + cached_dir_add_monitor (ed->dir, ed, callback, user_data); +} + +static void entry_directory_remove_monitor(EntryDirectory* ed, EntryDirectoryChangedFunc callback, gpointer user_data) +{ + cached_dir_remove_monitor (ed->dir, ed, callback, user_data); +} + +static DesktopEntry* entry_directory_get_directory(EntryDirectory* ed, const char* relative_path) +{ + DesktopEntry *entry; + + if (ed->entry_type != DESKTOP_ENTRY_DIRECTORY) + return NULL; + + entry = cached_dir_find_relative_path (ed->dir, relative_path); + if (entry == NULL || desktop_entry_get_type (entry) != DESKTOP_ENTRY_DIRECTORY) + return NULL; + + return desktop_entry_ref (entry); +} + +static char* get_desktop_file_id_from_path(EntryDirectory* ed, DesktopEntryType entry_type, const char* relative_path) +{ + char *retval; + + retval = NULL; + + if (entry_type == DESKTOP_ENTRY_DESKTOP) + { + if (!ed->is_legacy) + { + retval = g_strdelimit (g_strdup (relative_path), "/", '-'); + } + else + { + char *basename; + + basename = g_path_get_basename (relative_path); + + if (ed->legacy_prefix) + { + retval = g_strjoin ("-", ed->legacy_prefix, basename, NULL); + g_free (basename); + } + else + { + retval = basename; + } + } + } + else + { + retval = g_strdup (relative_path); + } + + return retval; +} + +typedef gboolean (*EntryDirectoryForeachFunc) (EntryDirectory* ed, DesktopEntry* entry, const char* file_id, DesktopEntrySet* set, gpointer user_data); + +static gboolean entry_directory_foreach_recursive(EntryDirectory* ed, CachedDir* cd, GString* relative_path, EntryDirectoryForeachFunc func, DesktopEntrySet* set, gpointer user_data) +{ + GSList *tmp; + int relative_path_len; + + if (cd->deleted) + return TRUE; + + relative_path_len = relative_path->len; + + tmp = cd->entries; + while (tmp != NULL) + { + DesktopEntry *entry = tmp->data; + + if (desktop_entry_get_type (entry) == ed->entry_type) + { + gboolean ret; + char *file_id; + + g_string_append (relative_path, + desktop_entry_get_basename (entry)); + + file_id = get_desktop_file_id_from_path (ed, + ed->entry_type, + relative_path->str); + + ret = func (ed, entry, file_id, set, user_data); + + g_free (file_id); + + g_string_truncate (relative_path, relative_path_len); + + if (!ret) + return FALSE; + } + + tmp = tmp->next; + } + + tmp = cd->subdirs; + while (tmp != NULL) + { + CachedDir *subdir = tmp->data; + + g_string_append (relative_path, subdir->name); + g_string_append_c (relative_path, G_DIR_SEPARATOR); + + if (!entry_directory_foreach_recursive (ed, + subdir, + relative_path, + func, + set, + user_data)) + return FALSE; + + g_string_truncate (relative_path, relative_path_len); + + tmp = tmp->next; + } + + return TRUE; +} + +static void entry_directory_foreach(EntryDirectory* ed, EntryDirectoryForeachFunc func, DesktopEntrySet* set, gpointer user_data) +{ + GString *path; + + path = g_string_new (NULL); + + entry_directory_foreach_recursive (ed, + ed->dir, + path, + func, + set, + user_data); + + g_string_free (path, TRUE); +} + +void entry_directory_get_flat_contents(EntryDirectory* ed, DesktopEntrySet* desktop_entries, DesktopEntrySet* directory_entries, GSList** subdirs) +{ + GSList *tmp; + + if (subdirs) + *subdirs = NULL; + + tmp = ed->dir->entries; + while (tmp != NULL) + { + DesktopEntry *entry = tmp->data; + const char *basename; + + basename = desktop_entry_get_basename (entry); + + if (desktop_entries && + desktop_entry_get_type (entry) == DESKTOP_ENTRY_DESKTOP) + { + char *file_id; + + file_id = get_desktop_file_id_from_path (ed, + DESKTOP_ENTRY_DESKTOP, + basename); + + desktop_entry_set_add_entry (desktop_entries, + entry, + file_id); + + g_free (file_id); + } + + if (directory_entries && + desktop_entry_get_type (entry) == DESKTOP_ENTRY_DIRECTORY) + { + desktop_entry_set_add_entry (directory_entries, + entry, + basename); + } + + tmp = tmp->next; + } + + if (subdirs) + { + tmp = ed->dir->subdirs; + while (tmp != NULL) + { + CachedDir *cd = tmp->data; + + if (!cd->deleted) + { + *subdirs = g_slist_prepend (*subdirs, g_strdup (cd->name)); + } + + tmp = tmp->next; + } + } + + if (subdirs) + *subdirs = g_slist_reverse (*subdirs); +} + +/* + * Entry directory lists + */ + +EntryDirectoryList* entry_directory_list_new(void) +{ + EntryDirectoryList *list; + + list = g_new0 (EntryDirectoryList, 1); + + list->refcount = 1; + list->dirs = NULL; + list->length = 0; + + return list; +} + +EntryDirectoryList* entry_directory_list_ref(EntryDirectoryList* list) +{ + g_return_val_if_fail (list != NULL, NULL); + g_return_val_if_fail (list->refcount > 0, NULL); + + list->refcount += 1; + + return list; +} + +void entry_directory_list_unref(EntryDirectoryList* list) +{ + g_return_if_fail (list != NULL); + g_return_if_fail (list->refcount > 0); + + list->refcount -= 1; + if (list->refcount == 0) + { + g_list_foreach (list->dirs, (GFunc) entry_directory_unref, NULL); + g_list_free (list->dirs); + list->dirs = NULL; + list->length = 0; + g_free (list); + } +} + +void entry_directory_list_prepend(EntryDirectoryList* list, EntryDirectory* ed) +{ + list->length += 1; + list->dirs = g_list_prepend (list->dirs, + entry_directory_ref (ed)); +} + +int entry_directory_list_get_length(EntryDirectoryList* list) +{ + return list->length; +} + +void entry_directory_list_append_list(EntryDirectoryList* list, EntryDirectoryList* to_append) +{ + GList *tmp; + GList *new_dirs = NULL; + + if (to_append->length == 0) + return; + + tmp = to_append->dirs; + while (tmp != NULL) + { + list->length += 1; + new_dirs = g_list_prepend (new_dirs, + entry_directory_ref (tmp->data)); + + tmp = tmp->next; + } + + new_dirs = g_list_reverse (new_dirs); + list->dirs = g_list_concat (list->dirs, new_dirs); +} + +DesktopEntry* entry_directory_list_get_directory(EntryDirectoryList *list, const char* relative_path) +{ + DesktopEntry *retval = NULL; + GList *tmp; + + tmp = list->dirs; + while (tmp != NULL) + { + if ((retval = entry_directory_get_directory (tmp->data, relative_path)) != NULL) + break; + + tmp = tmp->next; + } + + return retval; +} + +gboolean _entry_directory_list_compare(const EntryDirectoryList* a, const EntryDirectoryList* b) +{ + GList *al, *bl; + + if (a == NULL && b == NULL) + return TRUE; + + if ((a == NULL || b == NULL)) + return FALSE; + + if (a->length != b->length) + return FALSE; + + al = a->dirs; bl = b->dirs; + while (al && bl && al->data == bl->data) + { + al = al->next; + bl = bl->next; + } + + return (al == NULL && bl == NULL); +} + +static gboolean get_all_func(EntryDirectory* ed, DesktopEntry* entry, const char* file_id, DesktopEntrySet* set, gpointer user_data) +{ + if (ed->is_legacy && !desktop_entry_has_categories (entry)) + { + entry = desktop_entry_copy (entry); + desktop_entry_add_legacy_category (entry); + } + else + { + entry = desktop_entry_ref (entry); + } + + desktop_entry_set_add_entry (set, entry, file_id); + desktop_entry_unref (entry); + + return TRUE; +} + +static DesktopEntrySet* entry_directory_last_set = NULL; +static EntryDirectoryList* entry_directory_last_list = NULL; + +void _entry_directory_list_empty_desktop_cache(void) +{ + if (entry_directory_last_set != NULL) + desktop_entry_set_unref (entry_directory_last_set); + entry_directory_last_set = NULL; + + if (entry_directory_last_list != NULL) + entry_directory_list_unref (entry_directory_last_list); + entry_directory_last_list = NULL; +} + +DesktopEntrySet* _entry_directory_list_get_all_desktops(EntryDirectoryList* list) +{ + GList *tmp; + DesktopEntrySet *set; + + /* The only tricky thing here is that desktop files later + * in the search list with the same relative path + * are "hidden" by desktop files earlier in the path, + * so we have to do the earlier files first causing + * the later files to replace the earlier files + * in the DesktopEntrySet + * + * We go from the end of the list so we can just + * g_hash_table_replace and not have to do two + * hash lookups (check for existing entry, then insert new + * entry) + */ + + /* This method is -extremely- slow, so we have a simple + one-entry cache here */ + if (_entry_directory_list_compare (list, entry_directory_last_list)) + { + menu_verbose (" Hit desktop list (%p) cache\n", list); + return desktop_entry_set_ref (entry_directory_last_set); + } + + if (entry_directory_last_set != NULL) + desktop_entry_set_unref (entry_directory_last_set); + if (entry_directory_last_list != NULL) + entry_directory_list_unref (entry_directory_last_list); + + set = desktop_entry_set_new (); + menu_verbose (" Storing all of list %p in set %p\n", + list, set); + + tmp = g_list_last (list->dirs); + while (tmp != NULL) + { + entry_directory_foreach (tmp->data, get_all_func, set, NULL); + + tmp = tmp->prev; + } + + entry_directory_last_list = entry_directory_list_ref (list); + entry_directory_last_set = desktop_entry_set_ref (set); + + return set; +} + +void entry_directory_list_add_monitors(EntryDirectoryList* list, EntryDirectoryChangedFunc callback, gpointer user_data) +{ + GList *tmp; + + tmp = list->dirs; + while (tmp != NULL) + { + entry_directory_add_monitor (tmp->data, callback, user_data); + tmp = tmp->next; + } +} + +void entry_directory_list_remove_monitors(EntryDirectoryList* list, EntryDirectoryChangedFunc callback, gpointer user_data) +{ + GList *tmp; + + tmp = list->dirs; + while (tmp != NULL) + { + entry_directory_remove_monitor (tmp->data, callback, user_data); + tmp = tmp->next; + } +} diff --git a/libmenu/entry-directories.h b/libmenu/entry-directories.h new file mode 100644 index 0000000..3cc4d9b --- /dev/null +++ b/libmenu/entry-directories.h @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2002 - 2004 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __ENTRY_DIRECTORIES_H__ +#define __ENTRY_DIRECTORIES_H__ + +#include <glib.h> +#include "desktop-entries.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct EntryDirectory EntryDirectory; + +typedef void (*EntryDirectoryChangedFunc) (EntryDirectory* ed, gpointer user_data); + +EntryDirectory* entry_directory_new(DesktopEntryType entry_type, const char* path); +EntryDirectory* entry_directory_new_legacy(DesktopEntryType entry_type, const char* path, const char* legacy_prefix); + +EntryDirectory* entry_directory_ref(EntryDirectory* ed); +void entry_directory_unref(EntryDirectory* ed); + +void entry_directory_get_flat_contents(EntryDirectory* ed, DesktopEntrySet* desktop_entries, DesktopEntrySet* directory_entries, GSList** subdirs); + + +typedef struct EntryDirectoryList EntryDirectoryList; + +EntryDirectoryList* entry_directory_list_new(void); +EntryDirectoryList* entry_directory_list_ref(EntryDirectoryList* list); +void entry_directory_list_unref(EntryDirectoryList* list); + +int entry_directory_list_get_length(EntryDirectoryList* list); +gboolean _entry_directory_list_compare(const EntryDirectoryList* a, const EntryDirectoryList* b); + +void entry_directory_list_prepend(EntryDirectoryList* list, EntryDirectory* ed); +void entry_directory_list_append_list(EntryDirectoryList* list, EntryDirectoryList* to_append); + +void entry_directory_list_add_monitors(EntryDirectoryList* list, EntryDirectoryChangedFunc callback, gpointer user_data); +void entry_directory_list_remove_monitors(EntryDirectoryList* list, EntryDirectoryChangedFunc callback, gpointer user_data); + +DesktopEntry* entry_directory_list_get_directory (EntryDirectoryList* list, const char* relative_path); + +DesktopEntrySet* _entry_directory_list_get_all_desktops(EntryDirectoryList* list); +void _entry_directory_list_empty_desktop_cache(void); + +#ifdef __cplusplus +} +#endif + +#endif /* __ENTRY_DIRECTORIES_H__ */ diff --git a/libmenu/libmate-menu-uninstalled.pc.in b/libmenu/libmate-menu-uninstalled.pc.in new file mode 100644 index 0000000..e0b0496 --- /dev/null +++ b/libmenu/libmate-menu-uninstalled.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: libmate-menu +Description: Desktop Menu Specification Implementation +Requires: glib-2.0 +Version: @VERSION@ +Libs: ${pc_top_builddir}/${pcfiledir}/libmate-menu.la +Cflags: -I${pc_top_builddir}/${pcfiledir} diff --git a/libmenu/libmate-menu.pc.in b/libmenu/libmate-menu.pc.in new file mode 100644 index 0000000..ab593d2 --- /dev/null +++ b/libmenu/libmate-menu.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: libmate-menu +Description: Desktop Menu Specification Implementation +Requires: glib-2.0 +Version: @VERSION@ +Libs: -L${libdir} -lmate-menu +Cflags: -I${includedir}/mate-menus diff --git a/libmenu/matemenu-tree.c b/libmenu/matemenu-tree.c new file mode 100644 index 0000000..683eb55 --- /dev/null +++ b/libmenu/matemenu-tree.c @@ -0,0 +1,4520 @@ +/* + * Copyright (C) 2003, 2004 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include <config.h> + +#include "matemenu-tree.h" + +#include <string.h> +#include <errno.h> + +#include "menu-layout.h" +#include "menu-monitor.h" +#include "menu-util.h" +#include "canonicalize.h" + +/* + * FIXME: it might be useful to be able to construct a menu + * tree from a traditional directory based menu hierarchy + * too. + */ + +typedef enum +{ + MATEMENU_TREE_ABSOLUTE = 0, + MATEMENU_TREE_BASENAME = 1 +} MateMenuTreeType; + +struct MateMenuTree +{ + MateMenuTreeType type; + guint refcount; + + char *basename; + char *absolute_path; + char *canonical_path; + + MateMenuTreeFlags flags; + MateMenuTreeSortKey sort_key; + + GSList *menu_file_monitors; + + MenuLayoutNode *layout; + MateMenuTreeDirectory *root; + + GSList *monitors; + + gpointer user_data; + GDestroyNotify dnotify; + + guint canonical : 1; +}; + +typedef struct +{ + MateMenuTreeChangedFunc callback; + gpointer user_data; +} MateMenuTreeMonitor; + +struct MateMenuTreeItem +{ + MateMenuTreeItemType type; + + MateMenuTreeDirectory *parent; + + gpointer user_data; + GDestroyNotify dnotify; + + guint refcount; +}; + +struct MateMenuTreeDirectory +{ + MateMenuTreeItem item; + + DesktopEntry *directory_entry; + char *name; + + GSList *entries; + GSList *subdirs; + + MenuLayoutValues default_layout_values; + GSList *default_layout_info; + GSList *layout_info; + GSList *contents; + + guint only_unallocated : 1; + guint is_root : 1; + guint is_nodisplay : 1; + guint layout_pending_separator : 1; + guint preprocessed : 1; + + /* 16 bits should be more than enough; G_MAXUINT16 means no inline header */ + guint will_inline_header : 16; +}; + +typedef struct +{ + MateMenuTreeDirectory directory; + + MateMenuTree *tree; +} MateMenuTreeDirectoryRoot; + +struct MateMenuTreeEntry +{ + MateMenuTreeItem item; + + DesktopEntry *desktop_entry; + char *desktop_file_id; + + guint is_excluded : 1; + guint is_nodisplay : 1; +}; + +struct MateMenuTreeSeparator +{ + MateMenuTreeItem item; +}; + +struct MateMenuTreeHeader +{ + MateMenuTreeItem item; + + MateMenuTreeDirectory *directory; +}; + +struct MateMenuTreeAlias +{ + MateMenuTreeItem item; + + MateMenuTreeDirectory *directory; + MateMenuTreeItem *aliased_item; +}; + +static MateMenuTree *matemenu_tree_new (MateMenuTreeType type, + const char *menu_file, + gboolean canonical, + MateMenuTreeFlags flags); +static void matemenu_tree_load_layout (MateMenuTree *tree); +static void matemenu_tree_force_reload (MateMenuTree *tree); +static void matemenu_tree_build_from_layout (MateMenuTree *tree); +static void matemenu_tree_force_rebuild (MateMenuTree *tree); +static void matemenu_tree_resolve_files (MateMenuTree *tree, + GHashTable *loaded_menu_files, + MenuLayoutNode *layout); +static void matemenu_tree_force_recanonicalize (MateMenuTree *tree); +static void matemenu_tree_invoke_monitors (MateMenuTree *tree); + +static void matemenu_tree_item_unref_and_unset_parent (gpointer itemp); + +/* + * The idea is that we cache the menu tree for either a given + * menu basename or an absolute menu path. + * If no files exist in $XDG_DATA_DIRS for the basename or the + * absolute path doesn't exist we just return (and cache) the + * empty menu tree. + * We also add a file monitor for the basename in each dir in + * $XDG_DATA_DIRS, or the absolute path to the menu file, and + * re-compute if there are any changes. + */ + +static GHashTable *matemenu_tree_cache = NULL; + +static inline char * +get_cache_key (MateMenuTree *tree, + MateMenuTreeFlags flags) +{ + const char *tree_name; + + switch (tree->type) + { + case MATEMENU_TREE_ABSOLUTE: + tree_name = tree->canonical ? tree->canonical_path : tree->absolute_path; + break; + + case MATEMENU_TREE_BASENAME: + tree_name = tree->basename; + break; + + default: + g_assert_not_reached (); + break; + } + + return g_strdup_printf ("%s:0x%x", tree_name, flags); +} + +static void +matemenu_tree_add_to_cache (MateMenuTree *tree, + MateMenuTreeFlags flags) +{ + char *cache_key; + + if (matemenu_tree_cache == NULL) + { + matemenu_tree_cache = + g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); + } + + cache_key = get_cache_key (tree, flags); + + menu_verbose ("Adding menu tree to cache: %s\n", cache_key); + + g_hash_table_replace (matemenu_tree_cache, cache_key, tree); +} + +static void +matemenu_tree_remove_from_cache (MateMenuTree *tree, + MateMenuTreeFlags flags) +{ + char *cache_key; + + cache_key = get_cache_key (tree, flags); + + menu_verbose ("Removing menu tree from cache: %s\n", cache_key); + + g_hash_table_remove (matemenu_tree_cache, cache_key); + + g_free (cache_key); + + if (g_hash_table_size (matemenu_tree_cache) == 0) + { + g_hash_table_destroy (matemenu_tree_cache); + matemenu_tree_cache = NULL; + + _entry_directory_list_empty_desktop_cache (); + } +} + +static MateMenuTree * +matemenu_tree_lookup_from_cache (const char *tree_name, + MateMenuTreeFlags flags) +{ + MateMenuTree *retval; + char *cache_key; + + if (matemenu_tree_cache == NULL) + return NULL; + + cache_key = g_strdup_printf ("%s:0x%x", tree_name, flags); + + menu_verbose ("Looking up '%s' from menu cache\n", cache_key); + + retval = g_hash_table_lookup (matemenu_tree_cache, cache_key); + + g_free (cache_key); + + return retval ? matemenu_tree_ref (retval) : NULL; +} + +typedef enum +{ + MENU_FILE_MONITOR_INVALID = 0, + MENU_FILE_MONITOR_FILE, + MENU_FILE_MONITOR_NONEXISTENT_FILE, + MENU_FILE_MONITOR_DIRECTORY +} MenuFileMonitorType; + +typedef struct +{ + MenuFileMonitorType type; + MenuMonitor *monitor; +} MenuFileMonitor; + +static void +handle_nonexistent_menu_file_changed (MenuMonitor *monitor, + MenuMonitorEvent event, + const char *path, + MateMenuTree *tree) +{ + if (event == MENU_MONITOR_EVENT_CHANGED || + event == MENU_MONITOR_EVENT_CREATED) + { + menu_verbose ("\"%s\" %s, marking tree for recanonicalization\n", + path, + event == MENU_MONITOR_EVENT_CREATED ? "created" : "changed"); + + matemenu_tree_force_recanonicalize (tree); + matemenu_tree_invoke_monitors (tree); + } +} + +static void +handle_menu_file_changed (MenuMonitor *monitor, + MenuMonitorEvent event, + const char *path, + MateMenuTree *tree) +{ + menu_verbose ("\"%s\" %s, marking tree for recanicalization\n", + path, + event == MENU_MONITOR_EVENT_CREATED ? "created" : + event == MENU_MONITOR_EVENT_CHANGED ? "changed" : "deleted"); + + matemenu_tree_force_recanonicalize (tree); + matemenu_tree_invoke_monitors (tree); +} + +static void +handle_menu_file_directory_changed (MenuMonitor *monitor, + MenuMonitorEvent event, + const char *path, + MateMenuTree *tree) +{ + if (!g_str_has_suffix (path, ".menu")) + return; + + menu_verbose ("\"%s\" %s, marking tree for recanicalization\n", + path, + event == MENU_MONITOR_EVENT_CREATED ? "created" : + event == MENU_MONITOR_EVENT_CHANGED ? "changed" : "deleted"); + + matemenu_tree_force_recanonicalize (tree); + matemenu_tree_invoke_monitors (tree); +} + +static void +matemenu_tree_add_menu_file_monitor (MateMenuTree *tree, + const char *path, + MenuFileMonitorType type) +{ + MenuFileMonitor *monitor; + + monitor = g_new0 (MenuFileMonitor, 1); + + monitor->type = type; + + switch (type) + { + case MENU_FILE_MONITOR_FILE: + menu_verbose ("Adding a menu file monitor for \"%s\"\n", path); + + monitor->monitor = menu_get_file_monitor (path); + menu_monitor_add_notify (monitor->monitor, + (MenuMonitorNotifyFunc) handle_menu_file_changed, + tree); + break; + + case MENU_FILE_MONITOR_NONEXISTENT_FILE: + menu_verbose ("Adding a menu file monitor for non-existent \"%s\"\n", path); + + monitor->monitor = menu_get_file_monitor (path); + menu_monitor_add_notify (monitor->monitor, + (MenuMonitorNotifyFunc) handle_nonexistent_menu_file_changed, + tree); + break; + + case MENU_FILE_MONITOR_DIRECTORY: + menu_verbose ("Adding a menu directory monitor for \"%s\"\n", path); + + monitor->monitor = menu_get_directory_monitor (path); + menu_monitor_add_notify (monitor->monitor, + (MenuMonitorNotifyFunc) handle_menu_file_directory_changed, + tree); + break; + + default: + g_assert_not_reached (); + break; + } + + tree->menu_file_monitors = g_slist_prepend (tree->menu_file_monitors, monitor); +} + +static void +remove_menu_file_monitor (MenuFileMonitor *monitor, + MateMenuTree *tree) +{ + switch (monitor->type) + { + case MENU_FILE_MONITOR_FILE: + menu_monitor_remove_notify (monitor->monitor, + (MenuMonitorNotifyFunc) handle_menu_file_changed, + tree); + break; + + case MENU_FILE_MONITOR_NONEXISTENT_FILE: + menu_monitor_remove_notify (monitor->monitor, + (MenuMonitorNotifyFunc) handle_nonexistent_menu_file_changed, + tree); + break; + + case MENU_FILE_MONITOR_DIRECTORY: + menu_monitor_remove_notify (monitor->monitor, + (MenuMonitorNotifyFunc) handle_menu_file_directory_changed, + tree); + break; + + default: + g_assert_not_reached (); + break; + } + + menu_monitor_unref (monitor->monitor); + monitor->monitor = NULL; + + monitor->type = MENU_FILE_MONITOR_INVALID; + + g_free (monitor); +} + +static void +matemenu_tree_remove_menu_file_monitors (MateMenuTree *tree) +{ + menu_verbose ("Removing all menu file monitors\n"); + + g_slist_foreach (tree->menu_file_monitors, + (GFunc) remove_menu_file_monitor, + tree); + g_slist_free (tree->menu_file_monitors); + tree->menu_file_monitors = NULL; +} + +static MateMenuTree * +matemenu_tree_lookup_absolute (const char *absolute, + MateMenuTreeFlags flags) +{ + MateMenuTree *tree; + gboolean canonical; + const char *canonical_path; + char *freeme; + + menu_verbose ("Looking up absolute path in tree cache: \"%s\"\n", absolute); + + if ((tree = matemenu_tree_lookup_from_cache (absolute, flags)) != NULL) + return tree; + + canonical = TRUE; + canonical_path = freeme = menu_canonicalize_file_name (absolute, FALSE); + if (canonical_path == NULL) + { + menu_verbose ("Failed to canonicalize absolute menu path \"%s\": %s\n", + absolute, g_strerror (errno)); + canonical = FALSE; + canonical_path = absolute; + } + + if ((tree = matemenu_tree_lookup_from_cache (canonical_path, flags)) != NULL) + return tree; + + tree = matemenu_tree_new (MATEMENU_TREE_ABSOLUTE, canonical_path, canonical, flags); + + g_free (freeme); + + return tree; +} + +static MateMenuTree * +matemenu_tree_lookup_basename (const char *basename, + MateMenuTreeFlags flags) +{ + MateMenuTree *tree; + + menu_verbose ("Looking up menu file in tree cache: \"%s\"\n", basename); + + if ((tree = matemenu_tree_lookup_from_cache (basename, flags)) != NULL) + return tree; + + return matemenu_tree_new (MATEMENU_TREE_BASENAME, basename, FALSE, flags); +} + +static gboolean +canonicalize_basename_with_config_dir (MateMenuTree *tree, + const char *basename, + const char *config_dir) +{ + char *path; + + path = g_build_filename (config_dir, "menus", basename, NULL); + + tree->canonical_path = menu_canonicalize_file_name (path, FALSE); + if (tree->canonical_path) + { + tree->canonical = TRUE; + matemenu_tree_add_menu_file_monitor (tree, + tree->canonical_path, + MENU_FILE_MONITOR_FILE); + } + else + { + matemenu_tree_add_menu_file_monitor (tree, + path, + MENU_FILE_MONITOR_NONEXISTENT_FILE); + } + + g_free (path); + + return tree->canonical; +} + +static void +canonicalize_basename (MateMenuTree *tree, + const char *basename) +{ + if (!canonicalize_basename_with_config_dir (tree, + basename, + g_get_user_config_dir ())) + { + const char * const *system_config_dirs; + int i; + + system_config_dirs = g_get_system_config_dirs (); + + i = 0; + while (system_config_dirs[i] != NULL) + { + if (canonicalize_basename_with_config_dir (tree, + basename, + system_config_dirs[i])) + break; + + ++i; + } + } +} + +static gboolean matemenu_tree_canonicalize_path(MateMenuTree* tree) +{ + if (tree->canonical) + return TRUE; + + g_assert(tree->canonical_path == NULL); + + if (tree->type == MATEMENU_TREE_BASENAME) + { + matemenu_tree_remove_menu_file_monitors (tree); + + if (strcmp(tree->basename, "mate-applications.menu") == 0 && g_getenv("XDG_MENU_PREFIX")) + { + char* prefixed_basename; + prefixed_basename = g_strdup_printf("%s%s", g_getenv("XDG_MENU_PREFIX"), tree->basename); + canonicalize_basename(tree, prefixed_basename); + g_free(prefixed_basename); + } + + if (!tree->canonical) + canonicalize_basename(tree, tree->basename); + + if (tree->canonical) + menu_verbose("Successfully looked up menu_file for \"%s\": %s\n", tree->basename, tree->canonical_path); + else + menu_verbose("Failed to look up menu_file for \"%s\"\n", tree->basename); + } + else /* if (tree->type == MATEMENU_TREE_ABSOLUTE) */ + { + tree->canonical_path = menu_canonicalize_file_name(tree->absolute_path, FALSE); + + if (tree->canonical_path != NULL) + { + menu_verbose("Successfully looked up menu_file for \"%s\": %s\n", tree->absolute_path, tree->canonical_path); + + /* + * Replace the cache entry with the canonicalized version + */ + matemenu_tree_remove_from_cache (tree, tree->flags); + + matemenu_tree_remove_menu_file_monitors(tree); + matemenu_tree_add_menu_file_monitor(tree, tree->canonical_path, MENU_FILE_MONITOR_FILE); + + tree->canonical = TRUE; + + matemenu_tree_add_to_cache (tree, tree->flags); + } + else + { + menu_verbose("Failed to look up menu_file for \"%s\"\n", tree->absolute_path); + } + } + + return tree->canonical; +} + +static void +matemenu_tree_force_recanonicalize (MateMenuTree *tree) +{ + matemenu_tree_remove_menu_file_monitors (tree); + + if (tree->canonical) + { + matemenu_tree_force_reload (tree); + + g_free (tree->canonical_path); + tree->canonical_path = NULL; + + tree->canonical = FALSE; + } +} + +MateMenuTree* matemenu_tree_lookup(const char* menu_file, MateMenuTreeFlags flags) +{ + MateMenuTree *retval; + + g_return_val_if_fail (menu_file != NULL, NULL); + + flags &= MATEMENU_TREE_FLAGS_MASK; + + if (g_path_is_absolute (menu_file)) + retval = matemenu_tree_lookup_absolute (menu_file, flags); + else + retval = matemenu_tree_lookup_basename (menu_file, flags); + + g_assert (retval != NULL); + + return retval; +} + +static MateMenuTree * +matemenu_tree_new (MateMenuTreeType type, + const char *menu_file, + gboolean canonical, + MateMenuTreeFlags flags) +{ + MateMenuTree *tree; + + tree = g_new0 (MateMenuTree, 1); + + tree->type = type; + tree->flags = flags; + tree->refcount = 1; + + tree->sort_key = MATEMENU_TREE_SORT_NAME; + + if (tree->type == MATEMENU_TREE_BASENAME) + { + g_assert (canonical == FALSE); + tree->basename = g_strdup (menu_file); + } + else + { + tree->canonical = canonical != FALSE; + tree->absolute_path = g_strdup (menu_file); + + if (tree->canonical) + { + tree->canonical_path = g_strdup (menu_file); + matemenu_tree_add_menu_file_monitor (tree, + tree->canonical_path, + MENU_FILE_MONITOR_FILE); + } + else + { + matemenu_tree_add_menu_file_monitor (tree, + tree->absolute_path, + MENU_FILE_MONITOR_NONEXISTENT_FILE); + } + } + + matemenu_tree_add_to_cache (tree, tree->flags); + + return tree; +} + +MateMenuTree * +matemenu_tree_ref (MateMenuTree *tree) +{ + g_return_val_if_fail (tree != NULL, NULL); + g_return_val_if_fail (tree->refcount > 0, NULL); + + tree->refcount++; + + return tree; +} + +void +matemenu_tree_unref (MateMenuTree *tree) +{ + g_return_if_fail (tree != NULL); + g_return_if_fail (tree->refcount >= 1); + + if (--tree->refcount > 0) + return; + + if (tree->dnotify) + tree->dnotify (tree->user_data); + tree->user_data = NULL; + tree->dnotify = NULL; + + matemenu_tree_remove_from_cache (tree, tree->flags); + + matemenu_tree_force_recanonicalize (tree); + + if (tree->basename != NULL) + g_free (tree->basename); + tree->basename = NULL; + + if (tree->absolute_path != NULL) + g_free (tree->absolute_path); + tree->absolute_path = NULL; + + g_slist_foreach (tree->monitors, (GFunc) g_free, NULL); + g_slist_free (tree->monitors); + tree->monitors = NULL; + + g_free (tree); +} + +void +matemenu_tree_set_user_data (MateMenuTree *tree, + gpointer user_data, + GDestroyNotify dnotify) +{ + g_return_if_fail (tree != NULL); + + if (tree->dnotify != NULL) + tree->dnotify (tree->user_data); + + tree->dnotify = dnotify; + tree->user_data = user_data; +} + +gpointer +matemenu_tree_get_user_data (MateMenuTree *tree) +{ + g_return_val_if_fail (tree != NULL, NULL); + + return tree->user_data; +} + +const char * +matemenu_tree_get_menu_file (MateMenuTree *tree) +{ + /* FIXME: this is horribly ugly. But it's done to keep the API. Would be bad + * to break the API only for a "const char *" => "char *" change. The other + * alternative is to leak the memory, which is bad too. */ + static char *ugly_result_cache = NULL; + + g_return_val_if_fail (tree != NULL, NULL); + + /* we need to canonicalize the path so we actually find out the real menu + * file that is being used -- and take into account XDG_MENU_PREFIX */ + if (!matemenu_tree_canonicalize_path (tree)) + return NULL; + + if (ugly_result_cache != NULL) + { + g_free (ugly_result_cache); + ugly_result_cache = NULL; + } + + if (tree->type == MATEMENU_TREE_BASENAME) + { + ugly_result_cache = g_path_get_basename (tree->canonical_path); + return ugly_result_cache; + } + else + return tree->absolute_path; +} + +MateMenuTreeDirectory * +matemenu_tree_get_root_directory (MateMenuTree *tree) +{ + g_return_val_if_fail (tree != NULL, NULL); + + if (!tree->root) + { + matemenu_tree_build_from_layout (tree); + + if (!tree->root) + return NULL; + } + + return matemenu_tree_item_ref (tree->root); +} + +static MateMenuTreeDirectory * +find_path (MateMenuTreeDirectory *directory, + const char *path) +{ + const char *name; + char *slash; + char *freeme; + GSList *tmp; + + while (path[0] == G_DIR_SEPARATOR) path++; + + if (path[0] == '\0') + return directory; + + freeme = NULL; + slash = strchr (path, G_DIR_SEPARATOR); + if (slash) + { + name = freeme = g_strndup (path, slash - path); + path = slash + 1; + } + else + { + name = path; + path = NULL; + } + + tmp = directory->contents; + while (tmp != NULL) + { + MateMenuTreeItem *item = tmp->data; + + if (matemenu_tree_item_get_type (item) != MATEMENU_TREE_ITEM_DIRECTORY) + { + tmp = tmp->next; + continue; + } + + if (!strcmp (name, MATEMENU_TREE_DIRECTORY (item)->name)) + { + g_free (freeme); + + if (path) + return find_path (MATEMENU_TREE_DIRECTORY (item), path); + else + return MATEMENU_TREE_DIRECTORY (item); + } + + tmp = tmp->next; + } + + g_free (freeme); + + return NULL; +} + +MateMenuTreeDirectory * +matemenu_tree_get_directory_from_path (MateMenuTree *tree, + const char *path) +{ + MateMenuTreeDirectory *root; + MateMenuTreeDirectory *directory; + + g_return_val_if_fail (tree != NULL, NULL); + g_return_val_if_fail (path != NULL, NULL); + + if (path[0] != G_DIR_SEPARATOR) + return NULL; + + if (!(root = matemenu_tree_get_root_directory (tree))) + return NULL; + + directory = find_path (root, path); + + matemenu_tree_item_unref (root); + + return directory ? matemenu_tree_item_ref (directory) : NULL; +} + +MateMenuTreeSortKey +matemenu_tree_get_sort_key (MateMenuTree *tree) +{ + g_return_val_if_fail (tree != NULL, MATEMENU_TREE_SORT_NAME); + g_return_val_if_fail (tree->refcount > 0, MATEMENU_TREE_SORT_NAME); + + return tree->sort_key; +} + +void +matemenu_tree_set_sort_key (MateMenuTree *tree, + MateMenuTreeSortKey sort_key) +{ + g_return_if_fail (tree != NULL); + g_return_if_fail (tree->refcount > 0); + g_return_if_fail (sort_key >= MATEMENU_TREE_SORT_FIRST); + g_return_if_fail (sort_key <= MATEMENU_TREE_SORT_LAST); + + if (sort_key == tree->sort_key) + return; + + tree->sort_key = sort_key; + matemenu_tree_force_rebuild (tree); +} + +void +matemenu_tree_add_monitor (MateMenuTree *tree, + MateMenuTreeChangedFunc callback, + gpointer user_data) +{ + MateMenuTreeMonitor *monitor; + GSList *tmp; + + g_return_if_fail (tree != NULL); + g_return_if_fail (callback != NULL); + + tmp = tree->monitors; + while (tmp != NULL) + { + monitor = tmp->data; + + if (monitor->callback == callback && + monitor->user_data == user_data) + break; + + tmp = tmp->next; + } + + if (tmp == NULL) + { + monitor = g_new0 (MateMenuTreeMonitor, 1); + + monitor->callback = callback; + monitor->user_data = user_data; + + tree->monitors = g_slist_append (tree->monitors, monitor); + } +} + +void +matemenu_tree_remove_monitor (MateMenuTree *tree, + MateMenuTreeChangedFunc callback, + gpointer user_data) +{ + GSList *tmp; + + g_return_if_fail (tree != NULL); + g_return_if_fail (callback != NULL); + + tmp = tree->monitors; + while (tmp != NULL) + { + MateMenuTreeMonitor *monitor = tmp->data; + GSList *next = tmp->next; + + if (monitor->callback == callback && + monitor->user_data == user_data) + { + tree->monitors = g_slist_delete_link (tree->monitors, tmp); + g_free (monitor); + } + + tmp = next; + } +} + +static void +matemenu_tree_invoke_monitors (MateMenuTree *tree) +{ + GSList *tmp; + + tmp = tree->monitors; + while (tmp != NULL) + { + MateMenuTreeMonitor *monitor = tmp->data; + GSList *next = tmp->next; + + monitor->callback (tree, monitor->user_data); + + tmp = next; + } +} + +MateMenuTreeItemType +matemenu_tree_item_get_type (MateMenuTreeItem *item) +{ + g_return_val_if_fail (item != NULL, 0); + + return item->type; +} + +MateMenuTreeDirectory * +matemenu_tree_item_get_parent (MateMenuTreeItem *item) +{ + g_return_val_if_fail (item != NULL, NULL); + + return item->parent ? matemenu_tree_item_ref (item->parent) : NULL; +} + +static void +matemenu_tree_item_set_parent (MateMenuTreeItem *item, + MateMenuTreeDirectory *parent) +{ + g_return_if_fail (item != NULL); + + item->parent = parent; +} + +GSList * +matemenu_tree_directory_get_contents (MateMenuTreeDirectory *directory) +{ + GSList *retval; + GSList *tmp; + + g_return_val_if_fail (directory != NULL, NULL); + + retval = NULL; + + tmp = directory->contents; + while (tmp != NULL) + { + retval = g_slist_prepend (retval, + matemenu_tree_item_ref (tmp->data)); + + tmp = tmp->next; + } + + return g_slist_reverse (retval); +} + +const char * +matemenu_tree_directory_get_name (MateMenuTreeDirectory *directory) +{ + g_return_val_if_fail (directory != NULL, NULL); + + if (!directory->directory_entry) + return directory->name; + + return desktop_entry_get_name (directory->directory_entry); +} + +const char * +matemenu_tree_directory_get_comment (MateMenuTreeDirectory *directory) +{ + g_return_val_if_fail (directory != NULL, NULL); + + if (!directory->directory_entry) + return NULL; + + return desktop_entry_get_comment (directory->directory_entry); +} + +const char* matemenu_tree_directory_get_icon(MateMenuTreeDirectory* directory) +{ + g_return_val_if_fail(directory != NULL, NULL); + + if (!directory->directory_entry) + return NULL; + + return desktop_entry_get_icon(directory->directory_entry); +} + +const char * +matemenu_tree_directory_get_desktop_file_path (MateMenuTreeDirectory *directory) +{ + g_return_val_if_fail (directory != NULL, NULL); + + if (!directory->directory_entry) + return NULL; + + return desktop_entry_get_path (directory->directory_entry); +} + +const char * +matemenu_tree_directory_get_menu_id (MateMenuTreeDirectory *directory) +{ + g_return_val_if_fail (directory != NULL, NULL); + + return directory->name; +} + +static void +matemenu_tree_directory_set_tree (MateMenuTreeDirectory *directory, + MateMenuTree *tree) +{ + MateMenuTreeDirectoryRoot *root; + + g_assert (directory != NULL); + g_assert (directory->is_root); + + root = (MateMenuTreeDirectoryRoot *) directory; + + root->tree = tree; +} + +MateMenuTree * +matemenu_tree_directory_get_tree (MateMenuTreeDirectory *directory) +{ + MateMenuTreeDirectoryRoot *root; + + g_return_val_if_fail (directory != NULL, NULL); + + while (MATEMENU_TREE_ITEM (directory)->parent != NULL) + directory = MATEMENU_TREE_DIRECTORY (MATEMENU_TREE_ITEM (directory)->parent); + + if (!directory->is_root) + return NULL; + + root = (MateMenuTreeDirectoryRoot *) directory; + + if (root->tree) + matemenu_tree_ref (root->tree); + + return root->tree; +} + +gboolean +matemenu_tree_directory_get_is_nodisplay (MateMenuTreeDirectory *directory) +{ + g_return_val_if_fail (directory != NULL, FALSE); + + return directory->is_nodisplay; +} + +static void +append_directory_path (MateMenuTreeDirectory *directory, + GString *path) +{ + + if (!directory->item.parent) + { + g_string_append_c (path, G_DIR_SEPARATOR); + return; + } + + append_directory_path (directory->item.parent, path); + + g_string_append (path, directory->name); + g_string_append_c (path, G_DIR_SEPARATOR); +} + +char * +matemenu_tree_directory_make_path (MateMenuTreeDirectory *directory, + MateMenuTreeEntry *entry) +{ + GString *path; + + g_return_val_if_fail (directory != NULL, NULL); + + path = g_string_new (NULL); + + append_directory_path (directory, path); + + if (entry != NULL) + g_string_append (path, + desktop_entry_get_basename (entry->desktop_entry)); + + return g_string_free (path, FALSE); +} + +const char * +matemenu_tree_entry_get_name (MateMenuTreeEntry *entry) +{ + g_return_val_if_fail (entry != NULL, NULL); + + return desktop_entry_get_name (entry->desktop_entry); +} + +const char * +matemenu_tree_entry_get_generic_name (MateMenuTreeEntry *entry) +{ + g_return_val_if_fail (entry != NULL, NULL); + + return desktop_entry_get_generic_name (entry->desktop_entry); +} + +const char * +matemenu_tree_entry_get_display_name (MateMenuTreeEntry *entry) +{ + const char *display_name; + + g_return_val_if_fail (entry != NULL, NULL); + + display_name = desktop_entry_get_full_name (entry->desktop_entry); + if (!display_name || display_name[0] == '\0') + display_name = desktop_entry_get_name (entry->desktop_entry); + + return display_name; +} + +const char * +matemenu_tree_entry_get_comment (MateMenuTreeEntry *entry) +{ + g_return_val_if_fail (entry != NULL, NULL); + + return desktop_entry_get_comment (entry->desktop_entry); +} + +const char* matemenu_tree_entry_get_icon(MateMenuTreeEntry *entry) +{ + g_return_val_if_fail (entry != NULL, NULL); + + return desktop_entry_get_icon(entry->desktop_entry); +} + +const char* matemenu_tree_entry_get_exec(MateMenuTreeEntry* entry) +{ + g_return_val_if_fail(entry != NULL, NULL); + + return desktop_entry_get_exec(entry->desktop_entry); +} + +gboolean matemenu_tree_entry_get_launch_in_terminal(MateMenuTreeEntry* entry) +{ + g_return_val_if_fail(entry != NULL, FALSE); + + return desktop_entry_get_launch_in_terminal(entry->desktop_entry); +} + +const char* matemenu_tree_entry_get_desktop_file_path(MateMenuTreeEntry* entry) +{ + g_return_val_if_fail(entry != NULL, NULL); + + return desktop_entry_get_path(entry->desktop_entry); +} + +const char* matemenu_tree_entry_get_desktop_file_id(MateMenuTreeEntry* entry) +{ + g_return_val_if_fail(entry != NULL, NULL); + + return entry->desktop_file_id; +} + +gboolean matemenu_tree_entry_get_is_excluded(MateMenuTreeEntry* entry) +{ + g_return_val_if_fail(entry != NULL, FALSE); + + return entry->is_excluded; +} + +gboolean matemenu_tree_entry_get_is_nodisplay(MateMenuTreeEntry* entry) +{ + g_return_val_if_fail(entry != NULL, FALSE); + + return entry->is_nodisplay; +} + +MateMenuTreeDirectory* matemenu_tree_header_get_directory(MateMenuTreeHeader* header) +{ + g_return_val_if_fail (header != NULL, NULL); + + return matemenu_tree_item_ref(header->directory); +} + +MateMenuTreeDirectory* matemenu_tree_alias_get_directory(MateMenuTreeAlias* alias) +{ + g_return_val_if_fail (alias != NULL, NULL); + + return matemenu_tree_item_ref(alias->directory); +} + +MateMenuTreeItem * +matemenu_tree_alias_get_item (MateMenuTreeAlias *alias) +{ + g_return_val_if_fail (alias != NULL, NULL); + + return matemenu_tree_item_ref (alias->aliased_item); +} + +static MateMenuTreeDirectory * +matemenu_tree_directory_new (MateMenuTreeDirectory *parent, + const char *name, + gboolean is_root) +{ + MateMenuTreeDirectory *retval; + + if (!is_root) + { + retval = g_new0 (MateMenuTreeDirectory, 1); + } + else + { + MateMenuTreeDirectoryRoot *root; + + root = g_new0 (MateMenuTreeDirectoryRoot, 1); + + retval = MATEMENU_TREE_DIRECTORY (root); + + retval->is_root = TRUE; + } + + + retval->item.type = MATEMENU_TREE_ITEM_DIRECTORY; + retval->item.parent = parent; + retval->item.refcount = 1; + + retval->name = g_strdup (name); + retval->directory_entry = NULL; + retval->entries = NULL; + retval->subdirs = NULL; + retval->default_layout_info = NULL; + retval->layout_info = NULL; + retval->contents = NULL; + retval->only_unallocated = FALSE; + retval->is_nodisplay = FALSE; + retval->layout_pending_separator = FALSE; + retval->preprocessed = FALSE; + retval->will_inline_header = G_MAXUINT16; + + retval->default_layout_values.mask = MENU_LAYOUT_VALUES_NONE; + retval->default_layout_values.show_empty = FALSE; + retval->default_layout_values.inline_menus = FALSE; + retval->default_layout_values.inline_limit = 4; + retval->default_layout_values.inline_header = FALSE; + retval->default_layout_values.inline_alias = FALSE; + + return retval; +} + +static void +matemenu_tree_directory_finalize (MateMenuTreeDirectory *directory) +{ + g_assert (directory->item.refcount == 0); + + g_slist_foreach (directory->contents, + (GFunc) matemenu_tree_item_unref_and_unset_parent, + NULL); + g_slist_free (directory->contents); + directory->contents = NULL; + + g_slist_foreach (directory->default_layout_info, + (GFunc) menu_layout_node_unref, + NULL); + g_slist_free (directory->default_layout_info); + directory->default_layout_info = NULL; + + g_slist_foreach (directory->layout_info, + (GFunc) menu_layout_node_unref, + NULL); + g_slist_free (directory->layout_info); + directory->layout_info = NULL; + + g_slist_foreach (directory->subdirs, + (GFunc) matemenu_tree_item_unref_and_unset_parent, + NULL); + g_slist_free (directory->subdirs); + directory->subdirs = NULL; + + g_slist_foreach (directory->entries, + (GFunc) matemenu_tree_item_unref_and_unset_parent, + NULL); + g_slist_free (directory->entries); + directory->entries = NULL; + + if (directory->directory_entry) + desktop_entry_unref (directory->directory_entry); + directory->directory_entry = NULL; + + g_free (directory->name); + directory->name = NULL; +} + +static MateMenuTreeSeparator * +matemenu_tree_separator_new (MateMenuTreeDirectory *parent) +{ + MateMenuTreeSeparator *retval; + + retval = g_new0 (MateMenuTreeSeparator, 1); + + retval->item.type = MATEMENU_TREE_ITEM_SEPARATOR; + retval->item.parent = parent; + retval->item.refcount = 1; + + return retval; +} + +static MateMenuTreeHeader * +matemenu_tree_header_new (MateMenuTreeDirectory *parent, + MateMenuTreeDirectory *directory) +{ + MateMenuTreeHeader *retval; + + retval = g_new0 (MateMenuTreeHeader, 1); + + retval->item.type = MATEMENU_TREE_ITEM_HEADER; + retval->item.parent = parent; + retval->item.refcount = 1; + + retval->directory = matemenu_tree_item_ref (directory); + + matemenu_tree_item_set_parent (MATEMENU_TREE_ITEM (retval->directory), NULL); + + return retval; +} + +static void +matemenu_tree_header_finalize (MateMenuTreeHeader *header) +{ + g_assert (header->item.refcount == 0); + + if (header->directory != NULL) + matemenu_tree_item_unref (header->directory); + header->directory = NULL; +} + +static MateMenuTreeAlias * +matemenu_tree_alias_new (MateMenuTreeDirectory *parent, + MateMenuTreeDirectory *directory, + MateMenuTreeItem *item) +{ + MateMenuTreeAlias *retval; + + retval = g_new0 (MateMenuTreeAlias, 1); + + retval->item.type = MATEMENU_TREE_ITEM_ALIAS; + retval->item.parent = parent; + retval->item.refcount = 1; + + retval->directory = matemenu_tree_item_ref (directory); + if (item->type != MATEMENU_TREE_ITEM_ALIAS) + retval->aliased_item = matemenu_tree_item_ref (item); + else + retval->aliased_item = matemenu_tree_item_ref (matemenu_tree_alias_get_item (MATEMENU_TREE_ALIAS (item))); + + matemenu_tree_item_set_parent (MATEMENU_TREE_ITEM (retval->directory), NULL); + matemenu_tree_item_set_parent (retval->aliased_item, NULL); + + return retval; +} + +static void +matemenu_tree_alias_finalize (MateMenuTreeAlias *alias) +{ + g_assert (alias->item.refcount == 0); + + if (alias->directory != NULL) + matemenu_tree_item_unref (alias->directory); + alias->directory = NULL; + + if (alias->aliased_item != NULL) + matemenu_tree_item_unref (alias->aliased_item); + alias->aliased_item = NULL; +} + +static MateMenuTreeEntry * +matemenu_tree_entry_new (MateMenuTreeDirectory *parent, + DesktopEntry *desktop_entry, + const char *desktop_file_id, + gboolean is_excluded, + gboolean is_nodisplay) +{ + MateMenuTreeEntry *retval; + + retval = g_new0 (MateMenuTreeEntry, 1); + + retval->item.type = MATEMENU_TREE_ITEM_ENTRY; + retval->item.parent = parent; + retval->item.refcount = 1; + + retval->desktop_entry = desktop_entry_ref (desktop_entry); + retval->desktop_file_id = g_strdup (desktop_file_id); + retval->is_excluded = is_excluded != FALSE; + retval->is_nodisplay = is_nodisplay != FALSE; + + return retval; +} + +static void +matemenu_tree_entry_finalize (MateMenuTreeEntry *entry) +{ + g_assert (entry->item.refcount == 0); + + g_free (entry->desktop_file_id); + entry->desktop_file_id = NULL; + + if (entry->desktop_entry) + desktop_entry_unref (entry->desktop_entry); + entry->desktop_entry = NULL; +} + +static int +matemenu_tree_entry_compare_by_id (MateMenuTreeItem *a, + MateMenuTreeItem *b) +{ + if (a->type == MATEMENU_TREE_ITEM_ALIAS) + a = MATEMENU_TREE_ALIAS (a)->aliased_item; + + if (b->type == MATEMENU_TREE_ITEM_ALIAS) + b = MATEMENU_TREE_ALIAS (b)->aliased_item; + + return strcmp (MATEMENU_TREE_ENTRY (a)->desktop_file_id, + MATEMENU_TREE_ENTRY (b)->desktop_file_id); +} + +gpointer matemenu_tree_item_ref(gpointer itemp) +{ + MateMenuTreeItem* item = (MateMenuTreeItem*) itemp; + + g_return_val_if_fail(item != NULL, NULL); + g_return_val_if_fail(item->refcount > 0, NULL); + + item->refcount++; + + return item; +} + +void +matemenu_tree_item_unref (gpointer itemp) +{ + MateMenuTreeItem *item; + + item = (MateMenuTreeItem *) itemp; + + g_return_if_fail (item != NULL); + g_return_if_fail (item->refcount > 0); + + if (--item->refcount == 0) + { + switch (item->type) + { + case MATEMENU_TREE_ITEM_DIRECTORY: + matemenu_tree_directory_finalize (MATEMENU_TREE_DIRECTORY (item)); + break; + + case MATEMENU_TREE_ITEM_ENTRY: + matemenu_tree_entry_finalize (MATEMENU_TREE_ENTRY (item)); + break; + + case MATEMENU_TREE_ITEM_SEPARATOR: + break; + + case MATEMENU_TREE_ITEM_HEADER: + matemenu_tree_header_finalize (MATEMENU_TREE_HEADER (item)); + break; + + case MATEMENU_TREE_ITEM_ALIAS: + matemenu_tree_alias_finalize (MATEMENU_TREE_ALIAS (item)); + break; + + default: + g_assert_not_reached (); + break; + } + + if (item->dnotify) + item->dnotify (item->user_data); + item->user_data = NULL; + item->dnotify = NULL; + + item->parent = NULL; + + g_free (item); + } +} + +static void +matemenu_tree_item_unref_and_unset_parent (gpointer itemp) +{ + MateMenuTreeItem *item; + + item = (MateMenuTreeItem *) itemp; + + g_return_if_fail (item != NULL); + + matemenu_tree_item_set_parent (item, NULL); + matemenu_tree_item_unref (item); +} + +void +matemenu_tree_item_set_user_data (MateMenuTreeItem *item, + gpointer user_data, + GDestroyNotify dnotify) +{ + g_return_if_fail (item != NULL); + + if (item->dnotify != NULL) + item->dnotify (item->user_data); + + item->dnotify = dnotify; + item->user_data = user_data; +} + +gpointer +matemenu_tree_item_get_user_data (MateMenuTreeItem *item) +{ + g_return_val_if_fail (item != NULL, NULL); + + return item->user_data; +} + +static inline const char * +matemenu_tree_item_compare_get_name_helper (MateMenuTreeItem *item, + MateMenuTreeSortKey sort_key) +{ + const char *name; + + name = NULL; + + switch (item->type) + { + case MATEMENU_TREE_ITEM_DIRECTORY: + if (MATEMENU_TREE_DIRECTORY (item)->directory_entry) + name = desktop_entry_get_name (MATEMENU_TREE_DIRECTORY (item)->directory_entry); + else + name = MATEMENU_TREE_DIRECTORY (item)->name; + break; + + case MATEMENU_TREE_ITEM_ENTRY: + switch (sort_key) + { + case MATEMENU_TREE_SORT_NAME: + name = desktop_entry_get_name (MATEMENU_TREE_ENTRY (item)->desktop_entry); + break; + case MATEMENU_TREE_SORT_DISPLAY_NAME: + name = matemenu_tree_entry_get_display_name (MATEMENU_TREE_ENTRY (item)); + break; + default: + g_assert_not_reached (); + break; + } + break; + + case MATEMENU_TREE_ITEM_ALIAS: + { + MateMenuTreeItem *dir; + dir = MATEMENU_TREE_ITEM (MATEMENU_TREE_ALIAS (item)->directory); + name = matemenu_tree_item_compare_get_name_helper (dir, sort_key); + } + break; + + case MATEMENU_TREE_ITEM_SEPARATOR: + case MATEMENU_TREE_ITEM_HEADER: + default: + g_assert_not_reached (); + break; + } + + return name; +} + +static int +matemenu_tree_item_compare (MateMenuTreeItem *a, + MateMenuTreeItem *b, + gpointer sort_key_p) +{ + const char *name_a; + const char *name_b; + MateMenuTreeSortKey sort_key; + + sort_key = GPOINTER_TO_INT (sort_key_p); + + name_a = matemenu_tree_item_compare_get_name_helper (a, sort_key); + name_b = matemenu_tree_item_compare_get_name_helper (b, sort_key); + + return g_utf8_collate (name_a, name_b); +} + +static MenuLayoutNode * +find_menu_child (MenuLayoutNode *layout) +{ + MenuLayoutNode *child; + + child = menu_layout_node_get_children (layout); + while (child && menu_layout_node_get_type (child) != MENU_LAYOUT_NODE_MENU) + child = menu_layout_node_get_next (child); + + return child; +} + +static void +merge_resolved_children (MateMenuTree *tree, + GHashTable *loaded_menu_files, + MenuLayoutNode *where, + MenuLayoutNode *from) +{ + MenuLayoutNode *insert_after; + MenuLayoutNode *menu_child; + MenuLayoutNode *from_child; + + matemenu_tree_resolve_files (tree, loaded_menu_files, from); + + insert_after = where; + g_assert (menu_layout_node_get_type (insert_after) != MENU_LAYOUT_NODE_ROOT); + g_assert (menu_layout_node_get_parent (insert_after) != NULL); + + /* skip root node */ + menu_child = find_menu_child (from); + g_assert (menu_child != NULL); + g_assert (menu_layout_node_get_type (menu_child) == MENU_LAYOUT_NODE_MENU); + + /* merge children of toplevel <Menu> */ + from_child = menu_layout_node_get_children (menu_child); + while (from_child != NULL) + { + MenuLayoutNode *next; + + next = menu_layout_node_get_next (from_child); + + menu_verbose ("Merging "); + menu_debug_print_layout (from_child, FALSE); + menu_verbose (" after "); + menu_debug_print_layout (insert_after, FALSE); + + switch (menu_layout_node_get_type (from_child)) + { + case MENU_LAYOUT_NODE_NAME: + menu_layout_node_unlink (from_child); /* delete this */ + break; + + default: + menu_layout_node_steal (from_child); + menu_layout_node_insert_after (insert_after, from_child); + menu_layout_node_unref (from_child); + + insert_after = from_child; + break; + } + + from_child = next; + } +} + +static gboolean +load_merge_file (MateMenuTree *tree, + GHashTable *loaded_menu_files, + const char *filename, + gboolean is_canonical, + gboolean add_monitor, + MenuLayoutNode *where) +{ + MenuLayoutNode *to_merge; + const char *canonical; + char *freeme; + gboolean retval; + + freeme = NULL; + retval = FALSE; + + if (!is_canonical) + { + canonical = freeme = menu_canonicalize_file_name (filename, FALSE); + if (canonical == NULL) + { + if (add_monitor) + matemenu_tree_add_menu_file_monitor (tree, + filename, + MENU_FILE_MONITOR_NONEXISTENT_FILE); + + menu_verbose ("Failed to canonicalize merge file path \"%s\": %s\n", + filename, g_strerror (errno)); + goto out; + } + } + else + { + canonical = filename; + } + + if (g_hash_table_lookup (loaded_menu_files, canonical) != NULL) + { + g_warning ("Not loading \"%s\": recursive loop detected in .menu files", + canonical); + retval = TRUE; + goto out; + } + + menu_verbose ("Merging file \"%s\"\n", canonical); + + to_merge = menu_layout_load (canonical, NULL, NULL); + if (to_merge == NULL) + { + menu_verbose ("No menu for file \"%s\" found when merging\n", + canonical); + goto out; + } + + retval = TRUE; + + g_hash_table_insert (loaded_menu_files, (char *) canonical, GUINT_TO_POINTER (TRUE)); + + if (add_monitor) + matemenu_tree_add_menu_file_monitor (tree, + canonical, + MENU_FILE_MONITOR_FILE); + + merge_resolved_children (tree, loaded_menu_files, where, to_merge); + + g_hash_table_remove (loaded_menu_files, canonical); + + menu_layout_node_unref (to_merge); + + out: + if (freeme) + g_free (freeme); + + return retval; +} + +static gboolean +load_merge_file_with_config_dir (MateMenuTree *tree, + GHashTable *loaded_menu_files, + const char *menu_file, + const char *config_dir, + MenuLayoutNode *where) +{ + char *merge_file; + gboolean loaded; + + loaded = FALSE; + + merge_file = g_build_filename (config_dir, "menus", menu_file, NULL); + + if (load_merge_file (tree, loaded_menu_files, merge_file, FALSE, TRUE, where)) + loaded = TRUE; + + g_free (merge_file); + + return loaded; +} + +static gboolean +compare_basedir_to_config_dir (const char *canonical_basedir, + const char *config_dir) +{ + char *dirname; + char *canonical_menus_dir; + gboolean retval; + + menu_verbose ("Checking to see if basedir '%s' is in '%s'\n", + canonical_basedir, config_dir); + + dirname = g_build_filename (config_dir, "menus", NULL); + + retval = FALSE; + + canonical_menus_dir = menu_canonicalize_file_name (dirname, FALSE); + if (canonical_menus_dir != NULL && + strcmp (canonical_basedir, canonical_menus_dir) == 0) + { + retval = TRUE; + } + + g_free (canonical_menus_dir); + g_free (dirname); + + return retval; +} + +static gboolean +load_parent_merge_file_from_basename (MateMenuTree *tree, + GHashTable *loaded_menu_files, + MenuLayoutNode *layout, + const char *menu_file, + const char *canonical_basedir) +{ + gboolean found_basedir; + const char * const *system_config_dirs; + int i; + + /* We're not interested in menu files that are in directories which are not a + * parent of the base directory of this menu file */ + found_basedir = compare_basedir_to_config_dir (canonical_basedir, + g_get_user_config_dir ()); + + system_config_dirs = g_get_system_config_dirs (); + + i = 0; + while (system_config_dirs[i] != NULL) + { + if (!found_basedir) + { + found_basedir = compare_basedir_to_config_dir (canonical_basedir, + system_config_dirs[i]); + } + else + { + menu_verbose ("Looking for parent menu file '%s' in '%s'\n", + menu_file, system_config_dirs[i]); + + if (load_merge_file_with_config_dir (tree, + loaded_menu_files, + menu_file, + system_config_dirs[i], + layout)) + { + break; + } + } + + ++i; + } + + return system_config_dirs[i] != NULL; +} + +static gboolean load_parent_merge_file(MateMenuTree* tree, GHashTable* loaded_menu_files, MenuLayoutNode* layout) +{ + MenuLayoutNode* root; + const char* basedir; + const char* menu_name; + char* canonical_basedir; + char* menu_file; + gboolean found; + + root = menu_layout_node_get_root(layout); + + basedir = menu_layout_node_root_get_basedir(root); + menu_name = menu_layout_node_root_get_name(root); + + canonical_basedir = menu_canonicalize_file_name(basedir, FALSE); + + if (canonical_basedir == NULL) + { + menu_verbose("Menu basedir '%s' no longer exists, not merging parent\n", basedir); + return FALSE; + } + + found = FALSE; + menu_file = g_strconcat(menu_name, ".menu", NULL); + + if (strcmp(menu_file, "mate-applications.menu") == 0 && g_getenv("XDG_MENU_PREFIX")) + { + char* prefixed_basename; + prefixed_basename = g_strdup_printf("%s%s", g_getenv("XDG_MENU_PREFIX"), menu_file); + found = load_parent_merge_file_from_basename(tree, loaded_menu_files, layout, prefixed_basename, canonical_basedir); + g_free(prefixed_basename); + } + + if (!found) + { + found = load_parent_merge_file_from_basename(tree, loaded_menu_files, layout, menu_file, canonical_basedir); + } + + g_free(menu_file); + g_free(canonical_basedir); + + return found; +} + +static void +load_merge_dir (MateMenuTree *tree, + GHashTable *loaded_menu_files, + const char *dirname, + MenuLayoutNode *where) +{ + GDir *dir; + const char *menu_file; + + menu_verbose ("Loading merge dir \"%s\"\n", dirname); + + matemenu_tree_add_menu_file_monitor (tree, + dirname, + MENU_FILE_MONITOR_DIRECTORY); + + if ((dir = g_dir_open (dirname, 0, NULL)) == NULL) + return; + + while ((menu_file = g_dir_read_name (dir))) + { + if (g_str_has_suffix (menu_file, ".menu")) + { + char *full_path; + + full_path = g_build_filename (dirname, menu_file, NULL); + + load_merge_file (tree, loaded_menu_files, full_path, TRUE, FALSE, where); + + g_free (full_path); + } + } + + g_dir_close (dir); +} + +static void +load_merge_dir_with_config_dir (MateMenuTree *tree, + GHashTable *loaded_menu_files, + const char *config_dir, + const char *dirname, + MenuLayoutNode *where) +{ + char *path; + + path = g_build_filename (config_dir, "menus", dirname, NULL); + + load_merge_dir (tree, loaded_menu_files, path, where); + + g_free (path); +} + +static void +resolve_merge_file (MateMenuTree *tree, + GHashTable *loaded_menu_files, + MenuLayoutNode *layout) +{ + char *filename; + + if (menu_layout_node_merge_file_get_type (layout) == MENU_MERGE_FILE_TYPE_PARENT) + { + if (load_parent_merge_file (tree, loaded_menu_files, layout)) + return; + } + + filename = menu_layout_node_get_content_as_path (layout); + if (filename == NULL) + { + menu_verbose ("didn't get node content as a path, not merging file\n"); + } + else + { + load_merge_file (tree, loaded_menu_files, filename, FALSE, TRUE, layout); + + g_free (filename); + } + + /* remove the now-replaced node */ + menu_layout_node_unlink (layout); +} + +static void +resolve_merge_dir (MateMenuTree *tree, + GHashTable *loaded_menu_files, + MenuLayoutNode *layout) +{ + char *path; + + path = menu_layout_node_get_content_as_path (layout); + if (path == NULL) + { + menu_verbose ("didn't get layout node content as a path, not merging dir\n"); + } + else + { + load_merge_dir (tree, loaded_menu_files, path, layout); + + g_free (path); + } + + /* remove the now-replaced node */ + menu_layout_node_unlink (layout); +} + +static MenuLayoutNode * +add_app_dir (MateMenuTree *tree, + MenuLayoutNode *before, + const char *data_dir) +{ + MenuLayoutNode *tmp; + char *dirname; + + tmp = menu_layout_node_new (MENU_LAYOUT_NODE_APP_DIR); + dirname = g_build_filename (data_dir, "applications", NULL); + menu_layout_node_set_content (tmp, dirname); + menu_layout_node_insert_before (before, tmp); + menu_layout_node_unref (before); + + menu_verbose ("Adding <AppDir>%s</AppDir> in <DefaultAppDirs/>\n", + dirname); + + g_free (dirname); + + return tmp; +} + +static void +resolve_default_app_dirs (MateMenuTree *tree, + MenuLayoutNode *layout) +{ + MenuLayoutNode *before; + const char * const *system_data_dirs; + int i; + + system_data_dirs = g_get_system_data_dirs (); + + before = add_app_dir (tree, + menu_layout_node_ref (layout), + g_get_user_data_dir ()); + + i = 0; + while (system_data_dirs[i] != NULL) + { + before = add_app_dir (tree, before, system_data_dirs[i]); + + ++i; + } + + menu_layout_node_unref (before); + + /* remove the now-replaced node */ + menu_layout_node_unlink (layout); +} + +static MenuLayoutNode* add_directory_dir(MateMenuTree* tree, MenuLayoutNode* before, const char* data_dir) +{ + MenuLayoutNode* tmp; + char* dirname; + + tmp = menu_layout_node_new(MENU_LAYOUT_NODE_DIRECTORY_DIR); + dirname = g_build_filename(data_dir, "desktop-directories", NULL); + menu_layout_node_set_content(tmp, dirname); + menu_layout_node_insert_before(before, tmp); + menu_layout_node_unref(before); + + menu_verbose("Adding <DirectoryDir>%s</DirectoryDir> in <DefaultDirectoryDirs/>\n", dirname); + + g_free(dirname); + + return tmp; +} + +static void +resolve_default_directory_dirs (MateMenuTree *tree, + MenuLayoutNode *layout) +{ + MenuLayoutNode *before; + const char * const *system_data_dirs; + int i; + + system_data_dirs = g_get_system_data_dirs (); + + before = add_directory_dir (tree, + menu_layout_node_ref (layout), + g_get_user_data_dir ()); + + i = 0; + while (system_data_dirs[i] != NULL) + { + before = add_directory_dir (tree, before, system_data_dirs[i]); + + ++i; + } + + menu_layout_node_unref (before); + + /* remove the now-replaced node */ + menu_layout_node_unlink (layout); +} + +static void +resolve_default_merge_dirs (MateMenuTree *tree, + GHashTable *loaded_menu_files, + MenuLayoutNode *layout) +{ + MenuLayoutNode *root; + const char *menu_name; + char *merge_name; + const char * const *system_config_dirs; + int i; + + root = menu_layout_node_get_root (layout); + menu_name = menu_layout_node_root_get_name (root); + + merge_name = g_strconcat (menu_name, "-merged", NULL); + + system_config_dirs = g_get_system_config_dirs (); + + /* Merge in reverse order */ + i = 0; + while (system_config_dirs[i] != NULL) i++; + while (i > 0) + { + i--; + load_merge_dir_with_config_dir (tree, + loaded_menu_files, + system_config_dirs[i], + merge_name, + layout); + } + + load_merge_dir_with_config_dir (tree, + loaded_menu_files, + g_get_user_config_dir (), + merge_name, + layout); + + g_free (merge_name); + + /* remove the now-replaced node */ + menu_layout_node_unlink (layout); +} + +static void +add_filename_include (const char *desktop_file_id, + DesktopEntry *entry, + MenuLayoutNode *include) +{ + if (!desktop_entry_has_categories (entry)) + { + MenuLayoutNode *node; + + node = menu_layout_node_new (MENU_LAYOUT_NODE_FILENAME); + menu_layout_node_set_content (node, desktop_file_id); + + menu_layout_node_append_child (include, node); + menu_layout_node_unref (node); + } +} + +static void +is_dot_directory (const char *basename, + DesktopEntry *entry, + gboolean *has_dot_directory) +{ + if (!strcmp (basename, ".directory")) + *has_dot_directory = TRUE; +} + +static gboolean +add_menu_for_legacy_dir (MenuLayoutNode *parent, + const char *legacy_dir, + const char *relative_path, + const char *legacy_prefix, + const char *menu_name) +{ + EntryDirectory *ed; + DesktopEntrySet *desktop_entries; + DesktopEntrySet *directory_entries; + GSList *subdirs; + gboolean menu_added; + gboolean has_dot_directory; + + ed = entry_directory_new_legacy (DESKTOP_ENTRY_INVALID, legacy_dir, legacy_prefix); + if (!ed) + return FALSE; + + subdirs = NULL; + desktop_entries = desktop_entry_set_new (); + directory_entries = desktop_entry_set_new (); + + entry_directory_get_flat_contents (ed, + desktop_entries, + directory_entries, + &subdirs); + entry_directory_unref (ed); + + has_dot_directory = FALSE; + desktop_entry_set_foreach (directory_entries, + (DesktopEntrySetForeachFunc) is_dot_directory, + &has_dot_directory); + desktop_entry_set_unref (directory_entries); + + menu_added = FALSE; + if (desktop_entry_set_get_count (desktop_entries) > 0 || subdirs) + { + MenuLayoutNode *menu; + MenuLayoutNode *node; + GString *subdir_path; + GString *subdir_relative; + GSList *tmp; + int legacy_dir_len; + int relative_path_len; + + menu = menu_layout_node_new (MENU_LAYOUT_NODE_MENU); + menu_layout_node_append_child (parent, menu); + + menu_added = TRUE; + + g_assert (menu_name != NULL); + + node = menu_layout_node_new (MENU_LAYOUT_NODE_NAME); + menu_layout_node_set_content (node, menu_name); + menu_layout_node_append_child (menu, node); + menu_layout_node_unref (node); + + if (has_dot_directory) + { + node = menu_layout_node_new (MENU_LAYOUT_NODE_DIRECTORY); + if (relative_path != NULL) + { + char *directory_entry_path; + + directory_entry_path = g_strdup_printf ("%s/.directory", relative_path); + menu_layout_node_set_content (node, directory_entry_path); + g_free (directory_entry_path); + } + else + { + menu_layout_node_set_content (node, ".directory"); + } + menu_layout_node_append_child (menu, node); + menu_layout_node_unref (node); + } + + if (desktop_entry_set_get_count (desktop_entries) > 0) + { + MenuLayoutNode *include; + + include = menu_layout_node_new (MENU_LAYOUT_NODE_INCLUDE); + menu_layout_node_append_child (menu, include); + + desktop_entry_set_foreach (desktop_entries, + (DesktopEntrySetForeachFunc) add_filename_include, + include); + + menu_layout_node_unref (include); + } + + subdir_path = g_string_new (legacy_dir); + legacy_dir_len = strlen (legacy_dir); + + subdir_relative = g_string_new (relative_path); + relative_path_len = relative_path ? strlen (relative_path) : 0; + + tmp = subdirs; + while (tmp != NULL) + { + const char *subdir = tmp->data; + + g_string_append_c (subdir_path, G_DIR_SEPARATOR); + g_string_append (subdir_path, subdir); + + if (relative_path_len) + { + g_string_append_c (subdir_relative, G_DIR_SEPARATOR); + } + g_string_append (subdir_relative, subdir); + + add_menu_for_legacy_dir (menu, + subdir_path->str, + subdir_relative->str, + legacy_prefix, + subdir); + + g_string_truncate (subdir_relative, relative_path_len); + g_string_truncate (subdir_path, legacy_dir_len); + + tmp = tmp->next; + } + + g_string_free (subdir_path, TRUE); + g_string_free (subdir_relative, TRUE); + + menu_layout_node_unref (menu); + } + + desktop_entry_set_unref (desktop_entries); + + g_slist_foreach (subdirs, (GFunc) g_free, NULL); + g_slist_free (subdirs); + + return menu_added; +} + +static void +resolve_legacy_dir (MateMenuTree *tree, + GHashTable *loaded_menu_files, + MenuLayoutNode *legacy) +{ + MenuLayoutNode *to_merge; + MenuLayoutNode *menu; + + to_merge = menu_layout_node_new (MENU_LAYOUT_NODE_ROOT); + + menu = menu_layout_node_get_parent (legacy); + g_assert (menu_layout_node_get_type (menu) == MENU_LAYOUT_NODE_MENU); + + if (add_menu_for_legacy_dir (to_merge, + menu_layout_node_get_content (legacy), + NULL, + menu_layout_node_legacy_dir_get_prefix (legacy), + menu_layout_node_menu_get_name (menu))) + { + merge_resolved_children (tree, loaded_menu_files, legacy, to_merge); + } + + menu_layout_node_unref (to_merge); +} + +static MenuLayoutNode * +add_legacy_dir (MateMenuTree *tree, + GHashTable *loaded_menu_files, + MenuLayoutNode *before, + const char *data_dir) +{ + MenuLayoutNode *legacy; + char *dirname; + + dirname = g_build_filename (data_dir, "applnk", NULL); + + legacy = menu_layout_node_new (MENU_LAYOUT_NODE_LEGACY_DIR); + menu_layout_node_set_content (legacy, dirname); + menu_layout_node_legacy_dir_set_prefix (legacy, "kde"); + menu_layout_node_insert_before (before, legacy); + menu_layout_node_unref (before); + + menu_verbose ("Adding <LegacyDir>%s</LegacyDir> in <KDELegacyDirs/>\n", + dirname); + + resolve_legacy_dir (tree, loaded_menu_files, legacy); + + g_free (dirname); + + return legacy; +} + +static void +resolve_kde_legacy_dirs (MateMenuTree *tree, + GHashTable *loaded_menu_files, + MenuLayoutNode *layout) +{ + MenuLayoutNode *before; + const char * const *system_data_dirs; + int i; + + system_data_dirs = g_get_system_data_dirs (); + + before = add_legacy_dir (tree, + loaded_menu_files, + menu_layout_node_ref (layout), + g_get_user_data_dir ()); + + i = 0; + while (system_data_dirs[i] != NULL) + { + before = add_legacy_dir (tree, loaded_menu_files, before, system_data_dirs[i]); + + ++i; + } + + menu_layout_node_unref (before); + + /* remove the now-replaced node */ + menu_layout_node_unlink (layout); +} + +static void +matemenu_tree_resolve_files (MateMenuTree *tree, + GHashTable *loaded_menu_files, + MenuLayoutNode *layout) +{ + MenuLayoutNode *child; + + menu_verbose ("Resolving files in: "); + menu_debug_print_layout (layout, TRUE); + + switch (menu_layout_node_get_type (layout)) + { + case MENU_LAYOUT_NODE_MERGE_FILE: + resolve_merge_file (tree, loaded_menu_files, layout); + break; + + case MENU_LAYOUT_NODE_MERGE_DIR: + resolve_merge_dir (tree, loaded_menu_files, layout); + break; + + case MENU_LAYOUT_NODE_DEFAULT_APP_DIRS: + resolve_default_app_dirs (tree, layout); + break; + + case MENU_LAYOUT_NODE_DEFAULT_DIRECTORY_DIRS: + resolve_default_directory_dirs (tree, layout); + break; + + case MENU_LAYOUT_NODE_DEFAULT_MERGE_DIRS: + resolve_default_merge_dirs (tree, loaded_menu_files, layout); + break; + + case MENU_LAYOUT_NODE_LEGACY_DIR: + resolve_legacy_dir (tree, loaded_menu_files, layout); + break; + + case MENU_LAYOUT_NODE_KDE_LEGACY_DIRS: + resolve_kde_legacy_dirs (tree, loaded_menu_files, layout); + break; + + case MENU_LAYOUT_NODE_PASSTHROUGH: + /* Just get rid of these, we don't need the memory usage */ + menu_layout_node_unlink (layout); + break; + + default: + /* Recurse */ + child = menu_layout_node_get_children (layout); + while (child != NULL) + { + MenuLayoutNode *next = menu_layout_node_get_next (child); + + matemenu_tree_resolve_files (tree, loaded_menu_files, child); + + child = next; + } + break; + } +} + +static void +move_children (MenuLayoutNode *from, + MenuLayoutNode *to) +{ + MenuLayoutNode *from_child; + MenuLayoutNode *insert_before; + + insert_before = menu_layout_node_get_children (to); + from_child = menu_layout_node_get_children (from); + + while (from_child != NULL) + { + MenuLayoutNode *next; + + next = menu_layout_node_get_next (from_child); + + menu_layout_node_steal (from_child); + + if (menu_layout_node_get_type (from_child) == MENU_LAYOUT_NODE_NAME) + { + ; /* just drop the Name in the old <Menu> */ + } + else if (insert_before) + { + menu_layout_node_insert_before (insert_before, from_child); + g_assert (menu_layout_node_get_next (from_child) == insert_before); + } + else + { + menu_layout_node_append_child (to, from_child); + } + + menu_layout_node_unref (from_child); + + from_child = next; + } +} + +static int +null_safe_strcmp (const char *a, + const char *b) +{ + if (a == NULL && b == NULL) + return 0; + else if (a == NULL) + return -1; + else if (b == NULL) + return 1; + else + return strcmp (a, b); +} + +static int +node_compare_func (const void *a, + const void *b) +{ + MenuLayoutNode *node_a = (MenuLayoutNode*) a; + MenuLayoutNode *node_b = (MenuLayoutNode*) b; + MenuLayoutNodeType t_a = menu_layout_node_get_type (node_a); + MenuLayoutNodeType t_b = menu_layout_node_get_type (node_b); + + if (t_a < t_b) + return -1; + else if (t_a > t_b) + return 1; + else + { + const char *c_a = menu_layout_node_get_content (node_a); + const char *c_b = menu_layout_node_get_content (node_b); + + return null_safe_strcmp (c_a, c_b); + } +} + +static int +node_menu_compare_func (const void *a, + const void *b) +{ + MenuLayoutNode *node_a = (MenuLayoutNode*) a; + MenuLayoutNode *node_b = (MenuLayoutNode*) b; + MenuLayoutNode *parent_a = menu_layout_node_get_parent (node_a); + MenuLayoutNode *parent_b = menu_layout_node_get_parent (node_b); + + if (parent_a < parent_b) + return -1; + else if (parent_a > parent_b) + return 1; + else + return null_safe_strcmp (menu_layout_node_menu_get_name (node_a), + menu_layout_node_menu_get_name (node_b)); +} + +static void +matemenu_tree_strip_duplicate_children (MateMenuTree *tree, + MenuLayoutNode *layout) +{ + MenuLayoutNode *child; + GSList *simple_nodes; + GSList *menu_layout_nodes; + GSList *prev; + GSList *tmp; + + /* to strip dups, we find all the child nodes where + * we want to kill dups, sort them, + * then nuke the adjacent nodes that are equal + */ + + simple_nodes = NULL; + menu_layout_nodes = NULL; + + child = menu_layout_node_get_children (layout); + while (child != NULL) + { + switch (menu_layout_node_get_type (child)) + { + /* These are dups if their content is the same */ + case MENU_LAYOUT_NODE_APP_DIR: + case MENU_LAYOUT_NODE_DIRECTORY_DIR: + case MENU_LAYOUT_NODE_DIRECTORY: + simple_nodes = g_slist_prepend (simple_nodes, child); + break; + + /* These have to be merged in a more complicated way, + * and then recursed + */ + case MENU_LAYOUT_NODE_MENU: + menu_layout_nodes = g_slist_prepend (menu_layout_nodes, child); + break; + + default: + break; + } + + child = menu_layout_node_get_next (child); + } + + /* Note that the lists are all backward. So we want to keep + * the items that are earlier in the list, because they were + * later in the file + */ + + /* stable sort the simple nodes */ + simple_nodes = g_slist_sort (simple_nodes, + node_compare_func); + + prev = NULL; + tmp = simple_nodes; + while (tmp != NULL) + { + GSList *next = tmp->next; + + if (prev) + { + MenuLayoutNode *p = prev->data; + MenuLayoutNode *n = tmp->data; + + if (node_compare_func (p, n) == 0) + { + /* nuke it! */ + menu_layout_node_unlink (n); + simple_nodes = g_slist_delete_link (simple_nodes, tmp); + tmp = prev; + } + } + + prev = tmp; + tmp = next; + } + + g_slist_free (simple_nodes); + simple_nodes = NULL; + + /* stable sort the menu nodes (the sort includes the + * parents of the nodes in the comparison). Remember + * the list is backward. + */ + menu_layout_nodes = g_slist_sort (menu_layout_nodes, + node_menu_compare_func); + + prev = NULL; + tmp = menu_layout_nodes; + while (tmp != NULL) + { + GSList *next = tmp->next; + + if (prev) + { + MenuLayoutNode *p = prev->data; + MenuLayoutNode *n = tmp->data; + + if (node_menu_compare_func (p, n) == 0) + { + /* Move children of first menu to the start of second + * menu and nuke the first menu + */ + move_children (n, p); + menu_layout_node_unlink (n); + menu_layout_nodes = g_slist_delete_link (menu_layout_nodes, tmp); + tmp = prev; + } + } + + prev = tmp; + tmp = next; + } + + g_slist_free (menu_layout_nodes); + menu_layout_nodes = NULL; + + /* Recursively clean up all children */ + child = menu_layout_node_get_children (layout); + while (child != NULL) + { + if (menu_layout_node_get_type (child) == MENU_LAYOUT_NODE_MENU) + matemenu_tree_strip_duplicate_children (tree, child); + + child = menu_layout_node_get_next (child); + } +} + +static MenuLayoutNode * +find_submenu (MenuLayoutNode *layout, + const char *path, + gboolean create_if_not_found) +{ + MenuLayoutNode *child; + const char *slash; + const char *next_path; + char *name; + + menu_verbose (" (splitting \"%s\")\n", path); + + if (path[0] == '\0' || path[0] == G_DIR_SEPARATOR) + return NULL; + + slash = strchr (path, G_DIR_SEPARATOR); + if (slash != NULL) + { + name = g_strndup (path, slash - path); + next_path = slash + 1; + if (*next_path == '\0') + next_path = NULL; + } + else + { + name = g_strdup (path); + next_path = NULL; + } + + child = menu_layout_node_get_children (layout); + while (child != NULL) + { + switch (menu_layout_node_get_type (child)) + { + case MENU_LAYOUT_NODE_MENU: + { + if (strcmp (name, menu_layout_node_menu_get_name (child)) == 0) + { + menu_verbose ("MenuNode %p found for path component \"%s\"\n", + child, name); + + g_free (name); + + if (!next_path) + { + menu_verbose (" Found menu node %p parent is %p\n", + child, layout); + return child; + } + + return find_submenu (child, next_path, create_if_not_found); + } + } + break; + + default: + break; + } + + child = menu_layout_node_get_next (child); + } + + if (create_if_not_found) + { + MenuLayoutNode *name_node; + + child = menu_layout_node_new (MENU_LAYOUT_NODE_MENU); + menu_layout_node_append_child (layout, child); + + name_node = menu_layout_node_new (MENU_LAYOUT_NODE_NAME); + menu_layout_node_set_content (name_node, name); + menu_layout_node_append_child (child, name_node); + menu_layout_node_unref (name_node); + + menu_verbose (" Created menu node %p parent is %p\n", + child, layout); + + menu_layout_node_unref (child); + g_free (name); + + if (!next_path) + return child; + + return find_submenu (child, next_path, create_if_not_found); + } + else + { + g_free (name); + return NULL; + } +} + +/* To call this you first have to strip duplicate children once, + * otherwise when you move a menu Foo to Bar then you may only + * move one of Foo, not all the merged Foo. + */ +static void +matemenu_tree_execute_moves (MateMenuTree *tree, + MenuLayoutNode *layout, + gboolean *need_remove_dups_p) +{ + MenuLayoutNode *child; + gboolean need_remove_dups; + GSList *move_nodes; + GSList *tmp; + + need_remove_dups = FALSE; + + move_nodes = NULL; + + child = menu_layout_node_get_children (layout); + while (child != NULL) + { + switch (menu_layout_node_get_type (child)) + { + case MENU_LAYOUT_NODE_MENU: + /* Recurse - we recurse first and process the current node + * second, as the spec dictates. + */ + matemenu_tree_execute_moves (tree, child, &need_remove_dups); + break; + + case MENU_LAYOUT_NODE_MOVE: + move_nodes = g_slist_prepend (move_nodes, child); + break; + + default: + break; + } + + child = menu_layout_node_get_next (child); + } + + /* We need to execute the move operations in the order that they appear */ + move_nodes = g_slist_reverse (move_nodes); + + tmp = move_nodes; + while (tmp != NULL) + { + MenuLayoutNode *move_node = tmp->data; + MenuLayoutNode *old_node; + GSList *next = tmp->next; + const char *old; + const char *new; + + old = menu_layout_node_move_get_old (move_node); + new = menu_layout_node_move_get_new (move_node); + g_assert (old != NULL && new != NULL); + + menu_verbose ("executing <Move> old = \"%s\" new = \"%s\"\n", + old, new); + + old_node = find_submenu (layout, old, FALSE); + if (old_node != NULL) + { + MenuLayoutNode *new_node; + + /* here we can create duplicates anywhere below the + * node + */ + need_remove_dups = TRUE; + + /* look up new node creating it and its parents if + * required + */ + new_node = find_submenu (layout, new, TRUE); + g_assert (new_node != NULL); + + move_children (old_node, new_node); + + menu_layout_node_unlink (old_node); + } + + menu_layout_node_unlink (move_node); + + tmp = next; + } + + g_slist_free (move_nodes); + + /* This oddness is to ensure we only remove dups once, + * at the root, instead of recursing the tree over + * and over. + */ + if (need_remove_dups_p) + *need_remove_dups_p = need_remove_dups; + else if (need_remove_dups) + matemenu_tree_strip_duplicate_children (tree, layout); +} + +static void +matemenu_tree_load_layout (MateMenuTree *tree) +{ + GHashTable *loaded_menu_files; + GError *error; + + if (tree->layout) + return; + + if (!matemenu_tree_canonicalize_path (tree)) + return; + + menu_verbose ("Loading menu layout from \"%s\"\n", + tree->canonical_path); + + error = NULL; + tree->layout = menu_layout_load (tree->canonical_path, + tree->type == MATEMENU_TREE_BASENAME ? + tree->basename : NULL, + &error); + if (tree->layout == NULL) + { + g_warning ("Error loading menu layout from \"%s\": %s", + tree->canonical_path, error->message); + g_error_free (error); + return; + } + + loaded_menu_files = g_hash_table_new (g_str_hash, g_str_equal); + g_hash_table_insert (loaded_menu_files, tree->canonical_path, GUINT_TO_POINTER (TRUE)); + matemenu_tree_resolve_files (tree, loaded_menu_files, tree->layout); + g_hash_table_destroy (loaded_menu_files); + + matemenu_tree_strip_duplicate_children (tree, tree->layout); + matemenu_tree_execute_moves (tree, tree->layout, NULL); +} + +static void +matemenu_tree_force_reload (MateMenuTree *tree) +{ + matemenu_tree_force_rebuild (tree); + + if (tree->layout) + menu_layout_node_unref (tree->layout); + tree->layout = NULL; +} + +typedef struct +{ + DesktopEntrySet *set; + const char *category; +} GetByCategoryForeachData; + +static void +get_by_category_foreach (const char *file_id, + DesktopEntry *entry, + GetByCategoryForeachData *data) +{ + if (desktop_entry_has_category (entry, data->category)) + desktop_entry_set_add_entry (data->set, entry, file_id); +} + +static void +get_by_category (DesktopEntrySet *entry_pool, + DesktopEntrySet *set, + const char *category) +{ + GetByCategoryForeachData data; + + data.set = set; + data.category = category; + + desktop_entry_set_foreach (entry_pool, + (DesktopEntrySetForeachFunc) get_by_category_foreach, + &data); +} + +static DesktopEntrySet * +process_include_rules (MenuLayoutNode *layout, + DesktopEntrySet *entry_pool) +{ + DesktopEntrySet *set = NULL; + + switch (menu_layout_node_get_type (layout)) + { + case MENU_LAYOUT_NODE_AND: + { + MenuLayoutNode *child; + + menu_verbose ("Processing <And>\n"); + + child = menu_layout_node_get_children (layout); + while (child != NULL) + { + DesktopEntrySet *child_set; + + child_set = process_include_rules (child, entry_pool); + + if (set == NULL) + { + set = child_set; + } + else + { + desktop_entry_set_intersection (set, child_set); + desktop_entry_set_unref (child_set); + } + + /* as soon as we get empty results, we can bail, + * because it's an AND + */ + if (desktop_entry_set_get_count (set) == 0) + break; + + child = menu_layout_node_get_next (child); + } + menu_verbose ("Processed <And>\n"); + } + break; + + case MENU_LAYOUT_NODE_OR: + { + MenuLayoutNode *child; + + menu_verbose ("Processing <Or>\n"); + + child = menu_layout_node_get_children (layout); + while (child != NULL) + { + DesktopEntrySet *child_set; + + child_set = process_include_rules (child, entry_pool); + + if (set == NULL) + { + set = child_set; + } + else + { + desktop_entry_set_union (set, child_set); + desktop_entry_set_unref (child_set); + } + + child = menu_layout_node_get_next (child); + } + menu_verbose ("Processed <Or>\n"); + } + break; + + case MENU_LAYOUT_NODE_NOT: + { + /* First get the OR of all the rules */ + MenuLayoutNode *child; + + menu_verbose ("Processing <Not>\n"); + + child = menu_layout_node_get_children (layout); + while (child != NULL) + { + DesktopEntrySet *child_set; + + child_set = process_include_rules (child, entry_pool); + + if (set == NULL) + { + set = child_set; + } + else + { + desktop_entry_set_union (set, child_set); + desktop_entry_set_unref (child_set); + } + + child = menu_layout_node_get_next (child); + } + + if (set != NULL) + { + DesktopEntrySet *inverted; + + /* Now invert the result */ + inverted = desktop_entry_set_new (); + desktop_entry_set_union (inverted, entry_pool); + desktop_entry_set_subtract (inverted, set); + desktop_entry_set_unref (set); + set = inverted; + } + menu_verbose ("Processed <Not>\n"); + } + break; + + case MENU_LAYOUT_NODE_ALL: + menu_verbose ("Processing <All>\n"); + set = desktop_entry_set_new (); + desktop_entry_set_union (set, entry_pool); + menu_verbose ("Processed <All>\n"); + break; + + case MENU_LAYOUT_NODE_FILENAME: + { + DesktopEntry *entry; + + menu_verbose ("Processing <Filename>%s</Filename>\n", + menu_layout_node_get_content (layout)); + + entry = desktop_entry_set_lookup (entry_pool, + menu_layout_node_get_content (layout)); + if (entry != NULL) + { + set = desktop_entry_set_new (); + desktop_entry_set_add_entry (set, + entry, + menu_layout_node_get_content (layout)); + } + menu_verbose ("Processed <Filename>%s</Filename>\n", + menu_layout_node_get_content (layout)); + } + break; + + case MENU_LAYOUT_NODE_CATEGORY: + menu_verbose ("Processing <Category>%s</Category>\n", + menu_layout_node_get_content (layout)); + set = desktop_entry_set_new (); + get_by_category (entry_pool, set, menu_layout_node_get_content (layout)); + menu_verbose ("Processed <Category>%s</Category>\n", + menu_layout_node_get_content (layout)); + break; + + default: + break; + } + + if (set == NULL) + set = desktop_entry_set_new (); /* create an empty set */ + + menu_verbose ("Matched %d entries\n", desktop_entry_set_get_count (set)); + + return set; +} + +static void +collect_layout_info (MenuLayoutNode *layout, + GSList **layout_info) +{ + MenuLayoutNode *iter; + + g_slist_foreach (*layout_info, + (GFunc) menu_layout_node_unref, + NULL); + g_slist_free (*layout_info); + *layout_info = NULL; + + iter = menu_layout_node_get_children (layout); + while (iter != NULL) + { + switch (menu_layout_node_get_type (iter)) + { + case MENU_LAYOUT_NODE_MENUNAME: + case MENU_LAYOUT_NODE_FILENAME: + case MENU_LAYOUT_NODE_SEPARATOR: + case MENU_LAYOUT_NODE_MERGE: + *layout_info = g_slist_prepend (*layout_info, + menu_layout_node_ref (iter)); + break; + + default: + break; + } + + iter = menu_layout_node_get_next (iter); + } + + *layout_info = g_slist_reverse (*layout_info); +} + +static void +entries_listify_foreach (const char *desktop_file_id, + DesktopEntry *desktop_entry, + MateMenuTreeDirectory *directory) +{ + directory->entries = + g_slist_prepend (directory->entries, + matemenu_tree_entry_new (directory, + desktop_entry, + desktop_file_id, + FALSE, + desktop_entry_get_no_display (desktop_entry))); +} + +static void +excluded_entries_listify_foreach (const char *desktop_file_id, + DesktopEntry *desktop_entry, + MateMenuTreeDirectory *directory) +{ + directory->entries = + g_slist_prepend (directory->entries, + matemenu_tree_entry_new (directory, + desktop_entry, + desktop_file_id, + TRUE, + desktop_entry_get_no_display (desktop_entry))); +} + +static void +set_default_layout_values (MateMenuTreeDirectory *parent, + MateMenuTreeDirectory *child) +{ + GSList *tmp; + + /* if the child has a defined default layout, we don't want to override its + * values. The parent might have a non-defined layout info (ie, no child of + * the DefaultLayout node) but it doesn't meant the default layout values + * (ie, DefaultLayout attributes) aren't different from the global defaults. + */ + if (child->default_layout_info != NULL || + child->default_layout_values.mask != MENU_LAYOUT_VALUES_NONE) + return; + + child->default_layout_values = parent->default_layout_values; + + tmp = child->subdirs; + while (tmp != NULL) + { + MateMenuTreeDirectory *subdir = tmp->data; + + set_default_layout_values (child, subdir); + + tmp = tmp->next; + } +} + +static MateMenuTreeDirectory * +process_layout (MateMenuTree *tree, + MateMenuTreeDirectory *parent, + MenuLayoutNode *layout, + DesktopEntrySet *allocated) +{ + MenuLayoutNode *layout_iter; + MateMenuTreeDirectory *directory; + DesktopEntrySet *entry_pool; + DesktopEntrySet *entries; + DesktopEntrySet *allocated_set; + DesktopEntrySet *excluded_set; + gboolean deleted; + gboolean only_unallocated; + GSList *tmp; + + g_assert (menu_layout_node_get_type (layout) == MENU_LAYOUT_NODE_MENU); + g_assert (menu_layout_node_menu_get_name (layout) != NULL); + + directory = matemenu_tree_directory_new (parent, + menu_layout_node_menu_get_name (layout), + parent == NULL); + + menu_verbose ("=== Menu name = %s ===\n", directory->name); + + + deleted = FALSE; + only_unallocated = FALSE; + + entries = desktop_entry_set_new (); + allocated_set = desktop_entry_set_new (); + + if (tree->flags & MATEMENU_TREE_FLAGS_INCLUDE_EXCLUDED) + excluded_set = desktop_entry_set_new (); + else + excluded_set = NULL; + + entry_pool = _entry_directory_list_get_all_desktops (menu_layout_node_menu_get_app_dirs (layout)); + + layout_iter = menu_layout_node_get_children (layout); + while (layout_iter != NULL) + { + switch (menu_layout_node_get_type (layout_iter)) + { + case MENU_LAYOUT_NODE_MENU: + /* recurse */ + { + MateMenuTreeDirectory *child_dir; + + menu_verbose ("Processing <Menu>\n"); + + child_dir = process_layout (tree, + directory, + layout_iter, + allocated); + if (child_dir) + directory->subdirs = g_slist_prepend (directory->subdirs, + child_dir); + + menu_verbose ("Processed <Menu>\n"); + } + break; + + case MENU_LAYOUT_NODE_INCLUDE: + { + /* The match rule children of the <Include> are + * independent (logical OR) so we can process each one by + * itself + */ + MenuLayoutNode *rule; + + menu_verbose ("Processing <Include> (%d entries)\n", + desktop_entry_set_get_count (entries)); + + rule = menu_layout_node_get_children (layout_iter); + while (rule != NULL) + { + DesktopEntrySet *rule_set; + + rule_set = process_include_rules (rule, entry_pool); + if (rule_set != NULL) + { + desktop_entry_set_union (entries, rule_set); + desktop_entry_set_union (allocated_set, rule_set); + if (excluded_set != NULL) + desktop_entry_set_subtract (excluded_set, rule_set); + desktop_entry_set_unref (rule_set); + } + + rule = menu_layout_node_get_next (rule); + } + + menu_verbose ("Processed <Include> (%d entries)\n", + desktop_entry_set_get_count (entries)); + } + break; + + case MENU_LAYOUT_NODE_EXCLUDE: + { + /* The match rule children of the <Exclude> are + * independent (logical OR) so we can process each one by + * itself + */ + MenuLayoutNode *rule; + + menu_verbose ("Processing <Exclude> (%d entries)\n", + desktop_entry_set_get_count (entries)); + + rule = menu_layout_node_get_children (layout_iter); + while (rule != NULL) + { + DesktopEntrySet *rule_set; + + rule_set = process_include_rules (rule, entry_pool); + if (rule_set != NULL) + { + if (excluded_set != NULL) + desktop_entry_set_union (excluded_set, rule_set); + desktop_entry_set_subtract (entries, rule_set); + desktop_entry_set_unref (rule_set); + } + + rule = menu_layout_node_get_next (rule); + } + + menu_verbose ("Processed <Exclude> (%d entries)\n", + desktop_entry_set_get_count (entries)); + } + break; + + case MENU_LAYOUT_NODE_DIRECTORY: + { + DesktopEntry *entry; + + menu_verbose ("Processing <Directory>%s</Directory>\n", + menu_layout_node_get_content (layout_iter)); + + /* + * The last <Directory> to exist wins, so we always try overwriting + */ + entry = entry_directory_list_get_directory (menu_layout_node_menu_get_directory_dirs (layout), + menu_layout_node_get_content (layout_iter)); + + if (entry != NULL) + { + if (!desktop_entry_get_hidden (entry)) + { + if (directory->directory_entry) + desktop_entry_unref (directory->directory_entry); + directory->directory_entry = entry; /* pass ref ownership */ + } + else + { + desktop_entry_unref (entry); + } + } + + menu_verbose ("Processed <Directory> new directory entry = %p (%s)\n", + directory->directory_entry, + directory->directory_entry? desktop_entry_get_path (directory->directory_entry) : "null"); + } + break; + + case MENU_LAYOUT_NODE_DELETED: + menu_verbose ("Processed <Deleted/>\n"); + deleted = TRUE; + break; + + case MENU_LAYOUT_NODE_NOT_DELETED: + menu_verbose ("Processed <NotDeleted/>\n"); + deleted = FALSE; + break; + + case MENU_LAYOUT_NODE_ONLY_UNALLOCATED: + menu_verbose ("Processed <OnlyUnallocated/>\n"); + only_unallocated = TRUE; + break; + + case MENU_LAYOUT_NODE_NOT_ONLY_UNALLOCATED: + menu_verbose ("Processed <NotOnlyUnallocated/>\n"); + only_unallocated = FALSE; + break; + + case MENU_LAYOUT_NODE_DEFAULT_LAYOUT: + menu_layout_node_default_layout_get_values (layout_iter, + &directory->default_layout_values); + collect_layout_info (layout_iter, &directory->default_layout_info); + menu_verbose ("Processed <DefaultLayout/>\n"); + break; + + case MENU_LAYOUT_NODE_LAYOUT: + collect_layout_info (layout_iter, &directory->layout_info); + menu_verbose ("Processed <Layout/>\n"); + break; + + default: + break; + } + + layout_iter = menu_layout_node_get_next (layout_iter); + } + + desktop_entry_set_unref (entry_pool); + + directory->only_unallocated = only_unallocated; + + if (!directory->only_unallocated) + desktop_entry_set_union (allocated, allocated_set); + + desktop_entry_set_unref (allocated_set); + + if (directory->directory_entry) + { + if (desktop_entry_get_no_display (directory->directory_entry)) + { + directory->is_nodisplay = TRUE; + + if (!(tree->flags & MATEMENU_TREE_FLAGS_INCLUDE_NODISPLAY)) + { + menu_verbose ("Not showing menu %s because NoDisplay=true\n", + desktop_entry_get_name (directory->directory_entry)); + deleted = TRUE; + } + } + + if (!desktop_entry_get_show_in_mate (directory->directory_entry)) + { + menu_verbose ("Not showing menu %s because OnlyShowIn!=MATE or NotShowIn=MATE\n", + desktop_entry_get_name (directory->directory_entry)); + deleted = TRUE; + } + } + + if (deleted) + { + if (excluded_set != NULL) + desktop_entry_set_unref (excluded_set); + desktop_entry_set_unref (entries); + matemenu_tree_item_unref (directory); + return NULL; + } + + desktop_entry_set_foreach (entries, + (DesktopEntrySetForeachFunc) entries_listify_foreach, + directory); + desktop_entry_set_unref (entries); + + if (excluded_set != NULL) + { + desktop_entry_set_foreach (excluded_set, + (DesktopEntrySetForeachFunc) excluded_entries_listify_foreach, + directory); + desktop_entry_set_unref (excluded_set); + } + + tmp = directory->subdirs; + while (tmp != NULL) + { + MateMenuTreeDirectory *subdir = tmp->data; + + set_default_layout_values (directory, subdir); + + tmp = tmp->next; + } + + tmp = directory->entries; + while (tmp != NULL) + { + MateMenuTreeEntry *entry = tmp->data; + GSList *next = tmp->next; + gboolean delete = FALSE; + + if (desktop_entry_get_hidden (entry->desktop_entry)) + { + menu_verbose ("Deleting %s because Hidden=true\n", + desktop_entry_get_name (entry->desktop_entry)); + delete = TRUE; + } + + if (!(tree->flags & MATEMENU_TREE_FLAGS_INCLUDE_NODISPLAY) && + desktop_entry_get_no_display (entry->desktop_entry)) + { + menu_verbose ("Deleting %s because NoDisplay=true\n", + desktop_entry_get_name (entry->desktop_entry)); + delete = TRUE; + } + + if (!desktop_entry_get_show_in_mate (entry->desktop_entry)) + { + menu_verbose ("Deleting %s because OnlyShowIn!=MATE or NotShowIn=MATE\n", + desktop_entry_get_name (entry->desktop_entry)); + delete = TRUE; + } + + if (desktop_entry_get_tryexec_failed (entry->desktop_entry)) + { + menu_verbose ("Deleting %s because TryExec failed\n", + desktop_entry_get_name (entry->desktop_entry)); + delete = TRUE; + } + + if (delete) + { + directory->entries = g_slist_delete_link (directory->entries, + tmp); + matemenu_tree_item_unref_and_unset_parent (entry); + } + + tmp = next; + } + + g_assert (directory->name != NULL); + + return directory; +} + +static void +process_only_unallocated (MateMenuTree *tree, + MateMenuTreeDirectory *directory, + DesktopEntrySet *allocated) +{ + GSList *tmp; + + /* For any directory marked only_unallocated, we have to remove any + * entries that were in fact allocated. + */ + + if (directory->only_unallocated) + { + tmp = directory->entries; + while (tmp != NULL) + { + MateMenuTreeEntry *entry = tmp->data; + GSList *next = tmp->next; + + if (desktop_entry_set_lookup (allocated, entry->desktop_file_id)) + { + directory->entries = g_slist_delete_link (directory->entries, + tmp); + matemenu_tree_item_unref_and_unset_parent (entry); + } + + tmp = next; + } + } + + tmp = directory->subdirs; + while (tmp != NULL) + { + MateMenuTreeDirectory *subdir = tmp->data; + + process_only_unallocated (tree, subdir, allocated); + + tmp = tmp->next; + } +} + +static void preprocess_layout_info (MateMenuTree *tree, + MateMenuTreeDirectory *directory); + +static GSList * +get_layout_info (MateMenuTreeDirectory *directory, + gboolean *is_default_layout) +{ + MateMenuTreeDirectory *iter; + + if (directory->layout_info != NULL) + { + if (is_default_layout) + { + *is_default_layout = FALSE; + } + return directory->layout_info; + } + + /* Even if there's no layout information at all, the result will be an + * implicit default layout */ + if (is_default_layout) + { + *is_default_layout = TRUE; + } + + iter = directory; + while (iter != NULL) + { + /* FIXME: this is broken: we might skip real parent in the + * XML structure, that are hidden because of inlining. */ + if (iter->default_layout_info != NULL) + { + return iter->default_layout_info; + } + + iter = MATEMENU_TREE_ITEM (iter)->parent; + } + + return NULL; +} + +static void +get_values_with_defaults (MenuLayoutNode *node, + MenuLayoutValues *layout_values, + MenuLayoutValues *default_layout_values) +{ + menu_layout_node_menuname_get_values (node, layout_values); + + if (!(layout_values->mask & MENU_LAYOUT_VALUES_SHOW_EMPTY)) + layout_values->show_empty = default_layout_values->show_empty; + + if (!(layout_values->mask & MENU_LAYOUT_VALUES_INLINE_MENUS)) + layout_values->inline_menus = default_layout_values->inline_menus; + + if (!(layout_values->mask & MENU_LAYOUT_VALUES_INLINE_LIMIT)) + layout_values->inline_limit = default_layout_values->inline_limit; + + if (!(layout_values->mask & MENU_LAYOUT_VALUES_INLINE_HEADER)) + layout_values->inline_header = default_layout_values->inline_header; + + if (!(layout_values->mask & MENU_LAYOUT_VALUES_INLINE_ALIAS)) + layout_values->inline_alias = default_layout_values->inline_alias; +} + +static guint +get_real_subdirs_len (MateMenuTreeDirectory *directory) +{ + guint len; + GSList *tmp; + + len = 0; + + tmp = directory->subdirs; + while (tmp != NULL) + { + MateMenuTreeDirectory *subdir = tmp->data; + + tmp = tmp->next; + + if (subdir->will_inline_header != G_MAXUINT16) + { + len += get_real_subdirs_len (subdir) + g_slist_length (subdir->entries) + 1; + } + else + len += 1; + } + + return len; +} + +static void +preprocess_layout_info_subdir_helper (MateMenuTree *tree, + MateMenuTreeDirectory *directory, + MateMenuTreeDirectory *subdir, + MenuLayoutValues *layout_values, + gboolean *contents_added, + gboolean *should_remove) +{ + preprocess_layout_info (tree, subdir); + + *should_remove = FALSE; + *contents_added = FALSE; + + if (subdir->subdirs == NULL && subdir->entries == NULL) + { + if (!(tree->flags & MATEMENU_TREE_FLAGS_SHOW_EMPTY) && + !layout_values->show_empty) + { + menu_verbose ("Not showing empty menu '%s'\n", subdir->name); + *should_remove = TRUE; + } + } + + else if (layout_values->inline_menus) + { + guint real_subdirs_len; + + real_subdirs_len = get_real_subdirs_len (subdir); + + if (layout_values->inline_alias && + real_subdirs_len + g_slist_length (subdir->entries) == 1) + { + MateMenuTreeAlias *alias; + MateMenuTreeItem *item; + GSList *list; + + if (subdir->subdirs != NULL) + list = subdir->subdirs; + else + list = subdir->entries; + + item = MATEMENU_TREE_ITEM (list->data); + + menu_verbose ("Inline aliasing '%s' to '%s'\n", + item->type == MATEMENU_TREE_ITEM_ENTRY ? + matemenu_tree_entry_get_name (MATEMENU_TREE_ENTRY (item)) : + (item->type == MATEMENU_TREE_ITEM_DIRECTORY ? + matemenu_tree_directory_get_name (MATEMENU_TREE_DIRECTORY (item)) : + matemenu_tree_directory_get_name (MATEMENU_TREE_ALIAS (item)->directory)), + subdir->name); + + alias = matemenu_tree_alias_new (directory, subdir, item); + + g_slist_foreach (list, + (GFunc) matemenu_tree_item_unref_and_unset_parent, + NULL); + g_slist_free (list); + subdir->subdirs = NULL; + subdir->entries = NULL; + + if (item->type == MATEMENU_TREE_ITEM_DIRECTORY) + directory->subdirs = g_slist_append (directory->subdirs, alias); + else + directory->entries = g_slist_append (directory->entries, alias); + + *contents_added = TRUE; + *should_remove = TRUE; + } + + else if (layout_values->inline_limit == 0 || + layout_values->inline_limit >= real_subdirs_len + g_slist_length (subdir->entries)) + { + if (layout_values->inline_header) + { + menu_verbose ("Creating inline header with name '%s'\n", subdir->name); + /* we're limited to 16-bits to spare some memory; if the limit is + * higher than that (would be crazy), we just consider it's + * unlimited */ + if (layout_values->inline_limit < G_MAXUINT16) + subdir->will_inline_header = layout_values->inline_limit; + else + subdir->will_inline_header = 0; + } + else + { + g_slist_foreach (subdir->subdirs, + (GFunc) matemenu_tree_item_set_parent, + directory); + directory->subdirs = g_slist_concat (directory->subdirs, + subdir->subdirs); + subdir->subdirs = NULL; + + g_slist_foreach (subdir->entries, + (GFunc) matemenu_tree_item_set_parent, + directory); + directory->entries = g_slist_concat (directory->entries, + subdir->entries); + subdir->entries = NULL; + + *contents_added = TRUE; + *should_remove = TRUE; + } + + menu_verbose ("Inlining directory contents of '%s' to '%s'\n", + subdir->name, directory->name); + } + } +} + +static void +preprocess_layout_info (MateMenuTree *tree, + MateMenuTreeDirectory *directory) +{ + GSList *tmp; + GSList *layout_info; + gboolean using_default_layout; + GSList *last_subdir; + gboolean strip_duplicates; + gboolean contents_added; + gboolean should_remove; + GSList *subdirs_sentinel; + + /* Note: we need to preprocess all menus, even if the layout mask for a menu + * is MENU_LAYOUT_VALUES_NONE: in this case, we need to remove empty menus; + * and the layout mask can be different for a submenu anyway */ + + menu_verbose ("Processing menu layout inline hints for %s\n", directory->name); + g_assert (!directory->preprocessed); + + strip_duplicates = FALSE; + /* we use last_subdir to track the last non-inlined subdirectory */ + last_subdir = g_slist_last (directory->subdirs); + + /* + * First process subdirectories with explicit layout + */ + layout_info = get_layout_info (directory, &using_default_layout); + tmp = layout_info; + /* see comment below about Menuname to understand why we leave the loop if + * last_subdir is NULL */ + while (tmp != NULL && last_subdir != NULL) + { + MenuLayoutNode *node = tmp->data; + MenuLayoutValues layout_values; + const char *name; + MateMenuTreeDirectory *subdir; + GSList *subdir_l; + + tmp = tmp->next; + + /* only Menuname nodes are relevant here */ + if (menu_layout_node_get_type (node) != MENU_LAYOUT_NODE_MENUNAME) + continue; + + get_values_with_defaults (node, + &layout_values, + &directory->default_layout_values); + + /* find the subdirectory that is affected by those attributes */ + name = menu_layout_node_get_content (node); + subdir = NULL; + subdir_l = directory->subdirs; + while (subdir_l != NULL) + { + subdir = subdir_l->data; + + if (!strcmp (subdir->name, name)) + break; + + subdir = NULL; + subdir_l = subdir_l->next; + + /* We do not want to use Menuname on a menu that appeared via + * inlining: without inlining, the Menuname wouldn't have matched + * anything, and we want to keep the same behavior. + * Unless the layout is a default layout, in which case the Menuname + * does match the subdirectory. */ + if (!using_default_layout && subdir_l == last_subdir) + { + subdir_l = NULL; + break; + } + } + + if (subdir == NULL) + continue; + + preprocess_layout_info_subdir_helper (tree, directory, + subdir, &layout_values, + &contents_added, &should_remove); + strip_duplicates = strip_duplicates || contents_added; + if (should_remove) + { + if (last_subdir == subdir_l) + { + /* we need to recompute last_subdir since we'll remove it from + * the list */ + GSList *buf; + + if (subdir_l == directory->subdirs) + last_subdir = NULL; + else + { + buf = directory->subdirs; + while (buf != NULL && buf->next != subdir_l) + buf = buf->next; + last_subdir = buf; + } + } + + directory->subdirs = g_slist_remove (directory->subdirs, subdir); + matemenu_tree_item_unref_and_unset_parent (MATEMENU_TREE_ITEM (subdir)); + } + } + + /* + * Now process the subdirectories with no explicit layout + */ + /* this is bogus data, but we just need the pointer anyway */ + subdirs_sentinel = g_slist_prepend (directory->subdirs, PACKAGE); + directory->subdirs = subdirs_sentinel; + + tmp = directory->subdirs; + while (tmp->next != NULL) + { + MateMenuTreeDirectory *subdir = tmp->next->data; + + if (subdir->preprocessed) + { + tmp = tmp->next; + continue; + } + + preprocess_layout_info_subdir_helper (tree, directory, + subdir, &directory->default_layout_values, + &contents_added, &should_remove); + strip_duplicates = strip_duplicates || contents_added; + if (should_remove) + { + tmp = g_slist_delete_link (tmp, tmp->next); + matemenu_tree_item_unref_and_unset_parent (MATEMENU_TREE_ITEM (subdir)); + } + else + tmp = tmp->next; + } + + /* remove the sentinel */ + directory->subdirs = g_slist_delete_link (directory->subdirs, + directory->subdirs); + + /* + * Finally, remove duplicates if needed + */ + if (strip_duplicates) + { + /* strip duplicate entries; there should be no duplicate directories */ + directory->entries = g_slist_sort (directory->entries, + (GCompareFunc) matemenu_tree_entry_compare_by_id); + tmp = directory->entries; + while (tmp != NULL && tmp->next != NULL) + { + MateMenuTreeItem *a = tmp->data; + MateMenuTreeItem *b = tmp->next->data; + + if (a->type == MATEMENU_TREE_ITEM_ALIAS) + a = MATEMENU_TREE_ALIAS (a)->aliased_item; + + if (b->type == MATEMENU_TREE_ITEM_ALIAS) + b = MATEMENU_TREE_ALIAS (b)->aliased_item; + + if (strcmp (MATEMENU_TREE_ENTRY (a)->desktop_file_id, + MATEMENU_TREE_ENTRY (b)->desktop_file_id) == 0) + { + tmp = g_slist_delete_link (tmp, tmp->next); + matemenu_tree_item_unref (b); + } + else + tmp = tmp->next; + } + } + + directory->preprocessed = TRUE; +} + +static void process_layout_info (MateMenuTree *tree, + MateMenuTreeDirectory *directory); + +static void +check_pending_separator (MateMenuTreeDirectory *directory) +{ + if (directory->layout_pending_separator) + { + menu_verbose ("Adding pending separator in '%s'\n", directory->name); + + directory->contents = g_slist_append (directory->contents, + matemenu_tree_separator_new (directory)); + directory->layout_pending_separator = FALSE; + } +} + +static void +merge_alias (MateMenuTree *tree, + MateMenuTreeDirectory *directory, + MateMenuTreeAlias *alias) +{ + menu_verbose ("Merging alias '%s' in directory '%s'\n", + alias->directory->name, directory->name); + + if (alias->aliased_item->type == MATEMENU_TREE_ITEM_DIRECTORY) + { + process_layout_info (tree, MATEMENU_TREE_DIRECTORY (alias->aliased_item)); + } + + check_pending_separator (directory); + + directory->contents = g_slist_append (directory->contents, + matemenu_tree_item_ref (alias)); +} + +static void +merge_subdir (MateMenuTree *tree, + MateMenuTreeDirectory *directory, + MateMenuTreeDirectory *subdir) +{ + menu_verbose ("Merging subdir '%s' in directory '%s'\n", + subdir->name, directory->name); + + process_layout_info (tree, subdir); + + check_pending_separator (directory); + + if (subdir->will_inline_header == 0 || + (subdir->will_inline_header != G_MAXUINT16 && + g_slist_length (subdir->contents) <= subdir->will_inline_header)) + { + MateMenuTreeHeader *header; + + header = matemenu_tree_header_new (directory, subdir); + directory->contents = g_slist_append (directory->contents, header); + + g_slist_foreach (subdir->contents, + (GFunc) matemenu_tree_item_set_parent, + directory); + directory->contents = g_slist_concat (directory->contents, + subdir->contents); + subdir->contents = NULL; + subdir->will_inline_header = G_MAXUINT16; + + matemenu_tree_item_set_parent (MATEMENU_TREE_ITEM (subdir), NULL); + } + else + { + directory->contents = g_slist_append (directory->contents, + matemenu_tree_item_ref (subdir)); + } +} + +static void +merge_subdir_by_name (MateMenuTree *tree, + MateMenuTreeDirectory *directory, + const char *subdir_name) +{ + GSList *tmp; + + menu_verbose ("Attempting to merge subdir '%s' in directory '%s'\n", + subdir_name, directory->name); + + tmp = directory->subdirs; + while (tmp != NULL) + { + MateMenuTreeDirectory *subdir = tmp->data; + GSList *next = tmp->next; + + /* if it's an alias, then it cannot be affected by + * the Merge nodes in the layout */ + if (MATEMENU_TREE_ITEM (subdir)->type == MATEMENU_TREE_ITEM_ALIAS) + continue; + + if (!strcmp (subdir->name, subdir_name)) + { + directory->subdirs = g_slist_delete_link (directory->subdirs, tmp); + merge_subdir (tree, directory, subdir); + matemenu_tree_item_unref (subdir); + } + + tmp = next; + } +} + +static void +merge_entry (MateMenuTree *tree, + MateMenuTreeDirectory *directory, + MateMenuTreeEntry *entry) +{ + menu_verbose ("Merging entry '%s' in directory '%s'\n", + entry->desktop_file_id, directory->name); + + check_pending_separator (directory); + directory->contents = g_slist_append (directory->contents, + matemenu_tree_item_ref (entry)); +} + +static void +merge_entry_by_id (MateMenuTree *tree, + MateMenuTreeDirectory *directory, + const char *file_id) +{ + GSList *tmp; + + menu_verbose ("Attempting to merge entry '%s' in directory '%s'\n", + file_id, directory->name); + + tmp = directory->entries; + while (tmp != NULL) + { + MateMenuTreeEntry *entry = tmp->data; + GSList *next = tmp->next; + + /* if it's an alias, then it cannot be affected by + * the Merge nodes in the layout */ + if (MATEMENU_TREE_ITEM (entry)->type == MATEMENU_TREE_ITEM_ALIAS) + continue; + + if (!strcmp (entry->desktop_file_id, file_id)) + { + directory->entries = g_slist_delete_link (directory->entries, tmp); + merge_entry (tree, directory, entry); + matemenu_tree_item_unref (entry); + } + + tmp = next; + } +} + +static inline gboolean +find_name_in_list (const char *name, + GSList *list) +{ + while (list != NULL) + { + if (!strcmp (name, list->data)) + return TRUE; + + list = list->next; + } + + return FALSE; +} + +static void +merge_subdirs (MateMenuTree *tree, + MateMenuTreeDirectory *directory, + GSList *except) +{ + GSList *subdirs; + GSList *tmp; + + menu_verbose ("Merging subdirs in directory '%s'\n", directory->name); + + subdirs = directory->subdirs; + directory->subdirs = NULL; + + subdirs = g_slist_sort_with_data (subdirs, + (GCompareDataFunc) matemenu_tree_item_compare, + GINT_TO_POINTER (MATEMENU_TREE_SORT_NAME)); + + tmp = subdirs; + while (tmp != NULL) + { + MateMenuTreeDirectory *subdir = tmp->data; + + if (MATEMENU_TREE_ITEM (subdir)->type == MATEMENU_TREE_ITEM_ALIAS) + { + merge_alias (tree, directory, MATEMENU_TREE_ALIAS (subdir)); + matemenu_tree_item_unref (subdir); + } + else if (!find_name_in_list (subdir->name, except)) + { + merge_subdir (tree, directory, subdir); + matemenu_tree_item_unref (subdir); + } + else + { + menu_verbose ("Not merging directory '%s' yet\n", subdir->name); + directory->subdirs = g_slist_append (directory->subdirs, subdir); + } + + tmp = tmp->next; + } + + g_slist_free (subdirs); + g_slist_free (except); +} + +static void +merge_entries (MateMenuTree *tree, + MateMenuTreeDirectory *directory, + GSList *except) +{ + GSList *entries; + GSList *tmp; + + menu_verbose ("Merging entries in directory '%s'\n", directory->name); + + entries = directory->entries; + directory->entries = NULL; + + entries = g_slist_sort_with_data (entries, + (GCompareDataFunc) matemenu_tree_item_compare, + GINT_TO_POINTER (tree->sort_key)); + + tmp = entries; + while (tmp != NULL) + { + MateMenuTreeEntry *entry = tmp->data; + + if (MATEMENU_TREE_ITEM (entry)->type == MATEMENU_TREE_ITEM_ALIAS) + { + merge_alias (tree, directory, MATEMENU_TREE_ALIAS (entry)); + matemenu_tree_item_unref (entry); + } + else if (!find_name_in_list (entry->desktop_file_id, except)) + { + merge_entry (tree, directory, entry); + matemenu_tree_item_unref (entry); + } + else + { + menu_verbose ("Not merging entry '%s' yet\n", entry->desktop_file_id); + directory->entries = g_slist_append (directory->entries, entry); + } + + tmp = tmp->next; + } + + g_slist_free (entries); + g_slist_free (except); +} + +static void +merge_subdirs_and_entries (MateMenuTree *tree, + MateMenuTreeDirectory *directory, + GSList *except_subdirs, + GSList *except_entries) +{ + GSList *items; + GSList *tmp; + + menu_verbose ("Merging subdirs and entries together in directory %s\n", + directory->name); + + items = g_slist_concat (directory->subdirs, directory->entries); + + directory->subdirs = NULL; + directory->entries = NULL; + + items = g_slist_sort_with_data (items, + (GCompareDataFunc) matemenu_tree_item_compare, + GINT_TO_POINTER (tree->sort_key)); + + tmp = items; + while (tmp != NULL) + { + MateMenuTreeItem *item = tmp->data; + MateMenuTreeItemType type; + + type = matemenu_tree_item_get_type (item); + + if (type == MATEMENU_TREE_ITEM_ALIAS) + { + merge_alias (tree, directory, MATEMENU_TREE_ALIAS (item)); + matemenu_tree_item_unref (item); + } + else if (type == MATEMENU_TREE_ITEM_DIRECTORY) + { + if (!find_name_in_list (MATEMENU_TREE_DIRECTORY (item)->name, except_subdirs)) + { + merge_subdir (tree, + directory, + MATEMENU_TREE_DIRECTORY (item)); + matemenu_tree_item_unref (item); + } + else + { + menu_verbose ("Not merging directory '%s' yet\n", + MATEMENU_TREE_DIRECTORY (item)->name); + directory->subdirs = g_slist_append (directory->subdirs, item); + } + } + else if (type == MATEMENU_TREE_ITEM_ENTRY) + { + if (!find_name_in_list (MATEMENU_TREE_ENTRY (item)->desktop_file_id, except_entries)) + { + merge_entry (tree, directory, MATEMENU_TREE_ENTRY (item)); + matemenu_tree_item_unref (item); + } + else + { + menu_verbose ("Not merging entry '%s' yet\n", + MATEMENU_TREE_ENTRY (item)->desktop_file_id); + directory->entries = g_slist_append (directory->entries, item); + } + } + else + { + g_assert_not_reached (); + } + + tmp = tmp->next; + } + + g_slist_free (items); + g_slist_free (except_subdirs); + g_slist_free (except_entries); +} + +static GSList * +get_subdirs_from_layout_info (GSList *layout_info) +{ + GSList *subdirs; + GSList *tmp; + + subdirs = NULL; + + tmp = layout_info; + while (tmp != NULL) + { + MenuLayoutNode *node = tmp->data; + + if (menu_layout_node_get_type (node) == MENU_LAYOUT_NODE_MENUNAME) + { + subdirs = g_slist_append (subdirs, + (char *) menu_layout_node_get_content (node)); + } + + tmp = tmp->next; + } + + return subdirs; +} + +static GSList * +get_entries_from_layout_info (GSList *layout_info) +{ + GSList *entries; + GSList *tmp; + + entries = NULL; + + tmp = layout_info; + while (tmp != NULL) + { + MenuLayoutNode *node = tmp->data; + + if (menu_layout_node_get_type (node) == MENU_LAYOUT_NODE_FILENAME) + { + entries = g_slist_append (entries, + (char *) menu_layout_node_get_content (node)); + } + + tmp = tmp->next; + } + + return entries; +} + +static void +process_layout_info (MateMenuTree *tree, + MateMenuTreeDirectory *directory) +{ + GSList *layout_info; + + menu_verbose ("Processing menu layout hints for %s\n", directory->name); + + g_slist_foreach (directory->contents, + (GFunc) matemenu_tree_item_unref_and_unset_parent, + NULL); + g_slist_free (directory->contents); + directory->contents = NULL; + directory->layout_pending_separator = FALSE; + + layout_info = get_layout_info (directory, NULL); + + if (layout_info == NULL) + { + merge_subdirs (tree, directory, NULL); + merge_entries (tree, directory, NULL); + } + else + { + GSList *tmp; + + tmp = layout_info; + while (tmp != NULL) + { + MenuLayoutNode *node = tmp->data; + + switch (menu_layout_node_get_type (node)) + { + case MENU_LAYOUT_NODE_MENUNAME: + merge_subdir_by_name (tree, + directory, + menu_layout_node_get_content (node)); + break; + + case MENU_LAYOUT_NODE_FILENAME: + merge_entry_by_id (tree, + directory, + menu_layout_node_get_content (node)); + break; + + case MENU_LAYOUT_NODE_SEPARATOR: + /* Unless explicitly told to show all separators, do not show a + * separator at the beginning of a menu. Note that we don't add + * the separators now, and instead make it pending. This way, we + * won't show two consecutive separators nor will we show a + * separator at the end of a menu. */ + if (tree->flags & MATEMENU_TREE_FLAGS_SHOW_ALL_SEPARATORS) + { + directory->layout_pending_separator = TRUE; + check_pending_separator (directory); + } + else if (directory->contents) + { + menu_verbose ("Adding a potential separator in '%s'\n", + directory->name); + + directory->layout_pending_separator = TRUE; + } + else + { + menu_verbose ("Skipping separator at the beginning of '%s'\n", + directory->name); + } + break; + + case MENU_LAYOUT_NODE_MERGE: + switch (menu_layout_node_merge_get_type (node)) + { + case MENU_LAYOUT_MERGE_NONE: + break; + + case MENU_LAYOUT_MERGE_MENUS: + merge_subdirs (tree, + directory, + get_subdirs_from_layout_info (tmp->next)); + break; + + case MENU_LAYOUT_MERGE_FILES: + merge_entries (tree, + directory, + get_entries_from_layout_info (tmp->next)); + break; + + case MENU_LAYOUT_MERGE_ALL: + merge_subdirs_and_entries (tree, + directory, + get_subdirs_from_layout_info (tmp->next), + get_entries_from_layout_info (tmp->next)); + break; + + default: + g_assert_not_reached (); + break; + } + break; + + default: + g_assert_not_reached (); + break; + } + + tmp = tmp->next; + } + } + + g_slist_foreach (directory->subdirs, + (GFunc) matemenu_tree_item_unref, + NULL); + g_slist_free (directory->subdirs); + directory->subdirs = NULL; + + g_slist_foreach (directory->entries, + (GFunc) matemenu_tree_item_unref, + NULL); + g_slist_free (directory->entries); + directory->entries = NULL; + + g_slist_foreach (directory->default_layout_info, + (GFunc) menu_layout_node_unref, + NULL); + g_slist_free (directory->default_layout_info); + directory->default_layout_info = NULL; + + g_slist_foreach (directory->layout_info, + (GFunc) menu_layout_node_unref, + NULL); + g_slist_free (directory->layout_info); + directory->layout_info = NULL; +} + +static void +handle_entries_changed (MenuLayoutNode *layout, + MateMenuTree *tree) +{ + if (tree->layout == layout) + { + matemenu_tree_force_rebuild (tree); + matemenu_tree_invoke_monitors (tree); + } +} + +static void +matemenu_tree_build_from_layout (MateMenuTree *tree) +{ + DesktopEntrySet *allocated; + + if (tree->root) + return; + + matemenu_tree_load_layout (tree); + if (!tree->layout) + return; + + menu_verbose ("Building menu tree from layout\n"); + + allocated = desktop_entry_set_new (); + + /* create the menu structure */ + tree->root = process_layout (tree, + NULL, + find_menu_child (tree->layout), + allocated); + if (tree->root) + { + matemenu_tree_directory_set_tree (tree->root, tree); + + process_only_unallocated (tree, tree->root, allocated); + + /* process the layout info part that can move/remove items: + * inline, show_empty, etc. */ + preprocess_layout_info (tree, tree->root); + /* populate the menu structure that we got with the items, and order it + * according to the layout info */ + process_layout_info (tree, tree->root); + + menu_layout_node_root_add_entries_monitor (tree->layout, + (MenuLayoutNodeEntriesChangedFunc) handle_entries_changed, + tree); + } + + desktop_entry_set_unref (allocated); +} + +static void +matemenu_tree_force_rebuild (MateMenuTree *tree) +{ + if (tree->root) + { + matemenu_tree_directory_set_tree (tree->root, NULL); + matemenu_tree_item_unref (tree->root); + tree->root = NULL; + + g_assert (tree->layout != NULL); + + menu_layout_node_root_remove_entries_monitor (tree->layout, + (MenuLayoutNodeEntriesChangedFunc) handle_entries_changed, + tree); + } +} diff --git a/libmenu/matemenu-tree.h b/libmenu/matemenu-tree.h new file mode 100644 index 0000000..d4916a9 --- /dev/null +++ b/libmenu/matemenu-tree.h @@ -0,0 +1,135 @@ +/* + * Copyright (C) 2004 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __MATEMENU_TREE_H__ +#define __MATEMENU_TREE_H__ + +#include <glib.h> + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct MateMenuTree MateMenuTree; +typedef struct MateMenuTreeItem MateMenuTreeItem; +typedef struct MateMenuTreeDirectory MateMenuTreeDirectory; +typedef struct MateMenuTreeEntry MateMenuTreeEntry; +typedef struct MateMenuTreeSeparator MateMenuTreeSeparator; +typedef struct MateMenuTreeHeader MateMenuTreeHeader; +typedef struct MateMenuTreeAlias MateMenuTreeAlias; + +typedef void (*MateMenuTreeChangedFunc) (MateMenuTree* tree, gpointer user_data); + +typedef enum { + MATEMENU_TREE_ITEM_INVALID = 0, + MATEMENU_TREE_ITEM_DIRECTORY, + MATEMENU_TREE_ITEM_ENTRY, + MATEMENU_TREE_ITEM_SEPARATOR, + MATEMENU_TREE_ITEM_HEADER, + MATEMENU_TREE_ITEM_ALIAS +} MateMenuTreeItemType; + +#define MATEMENU_TREE_ITEM(i) ((MateMenuTreeItem*)(i)) +#define MATEMENU_TREE_DIRECTORY(i) ((MateMenuTreeDirectory*)(i)) +#define MATEMENU_TREE_ENTRY(i) ((MateMenuTreeEntry*)(i)) +#define MATEMENU_TREE_SEPARATOR(i) ((MateMenuTreeSeparator*)(i)) +#define MATEMENU_TREE_HEADER(i) ((MateMenuTreeHeader*)(i)) +#define MATEMENU_TREE_ALIAS(i) ((MateMenuTreeAlias*)(i)) + +typedef enum { + MATEMENU_TREE_FLAGS_NONE = 0, + MATEMENU_TREE_FLAGS_INCLUDE_EXCLUDED = 1 << 0, + MATEMENU_TREE_FLAGS_SHOW_EMPTY = 1 << 1, + MATEMENU_TREE_FLAGS_INCLUDE_NODISPLAY = 1 << 2, + MATEMENU_TREE_FLAGS_SHOW_ALL_SEPARATORS = 1 << 3, + MATEMENU_TREE_FLAGS_MASK = 0x0f +} MateMenuTreeFlags; + +typedef enum { + #define MATEMENU_TREE_SORT_FIRST MATEMENU_TREE_SORT_NAME + MATEMENU_TREE_SORT_NAME = 0, + MATEMENU_TREE_SORT_DISPLAY_NAME + #define MATEMENU_TREE_SORT_LAST MATEMENU_TREE_SORT_DISPLAY_NAME +} MateMenuTreeSortKey; + +MateMenuTree* matemenu_tree_lookup(const char* menu_file, MateMenuTreeFlags flags); + +MateMenuTree* matemenu_tree_ref(MateMenuTree* tree); +void matemenu_tree_unref(MateMenuTree* tree); + +void matemenu_tree_set_user_data(MateMenuTree* tree, gpointer user_data, GDestroyNotify dnotify); +gpointer matemenu_tree_get_user_data(MateMenuTree* tree); + +const char* matemenu_tree_get_menu_file(MateMenuTree* tree); +MateMenuTreeDirectory* matemenu_tree_get_root_directory(MateMenuTree* tree); +MateMenuTreeDirectory* matemenu_tree_get_directory_from_path(MateMenuTree* tree, const char* path); + +MateMenuTreeSortKey matemenu_tree_get_sort_key(MateMenuTree* tree); +void matemenu_tree_set_sort_key(MateMenuTree* tree, MateMenuTreeSortKey sort_key); + + + +gpointer matemenu_tree_item_ref(gpointer item); +void matemenu_tree_item_unref(gpointer item); + +void matemenu_tree_item_set_user_data(MateMenuTreeItem* item, gpointer user_data, GDestroyNotify dnotify); +gpointer matemenu_tree_item_get_user_data(MateMenuTreeItem* item); + +MateMenuTreeItemType matemenu_tree_item_get_type(MateMenuTreeItem* item); +MateMenuTreeDirectory* matemenu_tree_item_get_parent(MateMenuTreeItem* item); + + +GSList* matemenu_tree_directory_get_contents(MateMenuTreeDirectory* directory); +const char* matemenu_tree_directory_get_name(MateMenuTreeDirectory* directory); +const char* matemenu_tree_directory_get_comment(MateMenuTreeDirectory* directory); +const char* matemenu_tree_directory_get_icon(MateMenuTreeDirectory* directory); +const char* matemenu_tree_directory_get_desktop_file_path(MateMenuTreeDirectory* directory); +const char* matemenu_tree_directory_get_menu_id(MateMenuTreeDirectory* directory); +MateMenuTree* matemenu_tree_directory_get_tree(MateMenuTreeDirectory* directory); + +gboolean matemenu_tree_directory_get_is_nodisplay(MateMenuTreeDirectory* directory); + +char* matemenu_tree_directory_make_path(MateMenuTreeDirectory* directory, MateMenuTreeEntry* entry); + + +const char* matemenu_tree_entry_get_name(MateMenuTreeEntry* entry); +const char* matemenu_tree_entry_get_generic_name(MateMenuTreeEntry* entry); +const char* matemenu_tree_entry_get_display_name(MateMenuTreeEntry* entry); +const char* matemenu_tree_entry_get_comment(MateMenuTreeEntry* entry); +const char* matemenu_tree_entry_get_icon(MateMenuTreeEntry* entry); +const char* matemenu_tree_entry_get_exec(MateMenuTreeEntry* entry); +gboolean matemenu_tree_entry_get_launch_in_terminal(MateMenuTreeEntry* entry); +const char* matemenu_tree_entry_get_desktop_file_path(MateMenuTreeEntry* entry); +const char* matemenu_tree_entry_get_desktop_file_id(MateMenuTreeEntry* entry); +gboolean matemenu_tree_entry_get_is_excluded(MateMenuTreeEntry* entry); +gboolean matemenu_tree_entry_get_is_nodisplay(MateMenuTreeEntry* entry); + +MateMenuTreeDirectory* matemenu_tree_header_get_directory(MateMenuTreeHeader* header); + +MateMenuTreeDirectory* matemenu_tree_alias_get_directory(MateMenuTreeAlias* alias); +MateMenuTreeItem* matemenu_tree_alias_get_item(MateMenuTreeAlias* alias); + +void matemenu_tree_add_monitor(MateMenuTree* tree, MateMenuTreeChangedFunc callback, gpointer user_data); +void matemenu_tree_remove_monitor(MateMenuTree* tree, MateMenuTreeChangedFunc callback, gpointer user_data); + +#ifdef __cplusplus +} +#endif + +#endif /* __MATEMENU_TREE_H__ */ diff --git a/libmenu/menu-layout.c b/libmenu/menu-layout.c new file mode 100644 index 0000000..d447d2d --- /dev/null +++ b/libmenu/menu-layout.c @@ -0,0 +1,2359 @@ +/* Menu layout in-memory data structure (a custom "DOM tree") */ + +/* + * Copyright (C) 2002 - 2004 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include <config.h> + +#include "menu-layout.h" + +#include <string.h> +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <errno.h> + +#include "canonicalize.h" +#include "entry-directories.h" +#include "menu-util.h" + +typedef struct MenuLayoutNodeMenu MenuLayoutNodeMenu; +typedef struct MenuLayoutNodeRoot MenuLayoutNodeRoot; +typedef struct MenuLayoutNodeLegacyDir MenuLayoutNodeLegacyDir; +typedef struct MenuLayoutNodeMergeFile MenuLayoutNodeMergeFile; +typedef struct MenuLayoutNodeDefaultLayout MenuLayoutNodeDefaultLayout; +typedef struct MenuLayoutNodeMenuname MenuLayoutNodeMenuname; +typedef struct MenuLayoutNodeMerge MenuLayoutNodeMerge; + +struct MenuLayoutNode +{ + /* Node lists are circular, for length-one lists + * prev/next point back to the node itself. + */ + MenuLayoutNode *prev; + MenuLayoutNode *next; + MenuLayoutNode *parent; + MenuLayoutNode *children; + + char *content; + + guint refcount : 20; + guint type : 7; +}; + +struct MenuLayoutNodeRoot +{ + MenuLayoutNode node; + + char *basedir; + char *name; + + GSList *monitors; +}; + +struct MenuLayoutNodeMenu +{ + MenuLayoutNode node; + + MenuLayoutNode *name_node; /* cache of the <Name> node */ + + EntryDirectoryList *app_dirs; + EntryDirectoryList *dir_dirs; +}; + +struct MenuLayoutNodeLegacyDir +{ + MenuLayoutNode node; + + char *prefix; +}; + +struct MenuLayoutNodeMergeFile +{ + MenuLayoutNode node; + + MenuMergeFileType type; +}; + +struct MenuLayoutNodeDefaultLayout +{ + MenuLayoutNode node; + + MenuLayoutValues layout_values; +}; + +struct MenuLayoutNodeMenuname +{ + MenuLayoutNode node; + + MenuLayoutValues layout_values; +}; + +struct MenuLayoutNodeMerge +{ + MenuLayoutNode node; + + MenuLayoutMergeType merge_type; +}; + +typedef struct +{ + MenuLayoutNodeEntriesChangedFunc callback; + gpointer user_data; +} MenuLayoutNodeEntriesMonitor; + + +static inline MenuLayoutNode * +node_next (MenuLayoutNode *node) +{ + /* root nodes (no parent) never have siblings */ + if (node->parent == NULL) + return NULL; + + /* circular list */ + if (node->next == node->parent->children) + return NULL; + + return node->next; +} + +static void +handle_entry_directory_changed (EntryDirectory *dir, + MenuLayoutNode *node) +{ + MenuLayoutNodeRoot *nr; + GSList *tmp; + + g_assert (node->type == MENU_LAYOUT_NODE_MENU); + + nr = (MenuLayoutNodeRoot *) menu_layout_node_get_root (node); + + tmp = nr->monitors; + while (tmp != NULL) + { + MenuLayoutNodeEntriesMonitor *monitor = tmp->data; + GSList *next = tmp->next; + + monitor->callback ((MenuLayoutNode *) nr, monitor->user_data); + + tmp = next; + } +} + +static void +remove_entry_directory_list (MenuLayoutNodeMenu *nm, + EntryDirectoryList **dirs) +{ + if (*dirs) + { + entry_directory_list_remove_monitors (*dirs, + (EntryDirectoryChangedFunc) handle_entry_directory_changed, + nm); + entry_directory_list_unref (*dirs); + *dirs = NULL; + } +} + +MenuLayoutNode * +menu_layout_node_ref (MenuLayoutNode *node) +{ + g_return_val_if_fail (node != NULL, NULL); + + node->refcount += 1; + + return node; +} + +void +menu_layout_node_unref (MenuLayoutNode *node) +{ + g_return_if_fail (node != NULL); + g_return_if_fail (node->refcount > 0); + + node->refcount -= 1; + if (node->refcount == 0) + { + MenuLayoutNode *iter; + + iter = node->children; + while (iter != NULL) + { + MenuLayoutNode *next = node_next (iter); + + menu_layout_node_unref (iter); + + iter = next; + } + + if (node->type == MENU_LAYOUT_NODE_MENU) + { + MenuLayoutNodeMenu *nm = (MenuLayoutNodeMenu *) node; + + if (nm->name_node) + menu_layout_node_unref (nm->name_node); + + remove_entry_directory_list (nm, &nm->app_dirs); + remove_entry_directory_list (nm, &nm->dir_dirs); + } + else if (node->type == MENU_LAYOUT_NODE_LEGACY_DIR) + { + MenuLayoutNodeLegacyDir *legacy = (MenuLayoutNodeLegacyDir *) node; + + g_free (legacy->prefix); + } + else if (node->type == MENU_LAYOUT_NODE_ROOT) + { + MenuLayoutNodeRoot *nr = (MenuLayoutNodeRoot*) node; + + g_slist_foreach (nr->monitors, (GFunc) g_free, NULL); + g_slist_free (nr->monitors); + + g_free (nr->basedir); + g_free (nr->name); + } + + g_free (node->content); + g_free (node); + } +} + +MenuLayoutNode * +menu_layout_node_new (MenuLayoutNodeType type) +{ + MenuLayoutNode *node; + + switch (type) + { + case MENU_LAYOUT_NODE_MENU: + node = (MenuLayoutNode *) g_new0 (MenuLayoutNodeMenu, 1); + break; + + case MENU_LAYOUT_NODE_LEGACY_DIR: + node = (MenuLayoutNode *) g_new0 (MenuLayoutNodeLegacyDir, 1); + break; + + case MENU_LAYOUT_NODE_ROOT: + node = (MenuLayoutNode*) g_new0 (MenuLayoutNodeRoot, 1); + break; + + case MENU_LAYOUT_NODE_MERGE_FILE: + node = (MenuLayoutNode *) g_new0 (MenuLayoutNodeMergeFile, 1); + break; + + case MENU_LAYOUT_NODE_DEFAULT_LAYOUT: + node = (MenuLayoutNode *) g_new0 (MenuLayoutNodeDefaultLayout, 1); + break; + + case MENU_LAYOUT_NODE_MENUNAME: + node = (MenuLayoutNode *) g_new0 (MenuLayoutNodeMenuname, 1); + break; + + case MENU_LAYOUT_NODE_MERGE: + node = (MenuLayoutNode *) g_new0 (MenuLayoutNodeMerge, 1); + break; + + default: + node = g_new0 (MenuLayoutNode, 1); + break; + } + + node->type = type; + + node->refcount = 1; + + /* we're in a list of one node */ + node->next = node; + node->prev = node; + + return node; +} + +MenuLayoutNode * +menu_layout_node_get_next (MenuLayoutNode *node) +{ + return node_next (node); +} + +MenuLayoutNode * +menu_layout_node_get_parent (MenuLayoutNode *node) +{ + return node->parent; +} + +MenuLayoutNode * +menu_layout_node_get_children (MenuLayoutNode *node) +{ + return node->children; +} + +MenuLayoutNode * +menu_layout_node_get_root (MenuLayoutNode *node) +{ + MenuLayoutNode *parent; + + parent = node; + while (parent->parent != NULL) + parent = parent->parent; + + g_assert (parent->type == MENU_LAYOUT_NODE_ROOT); + + return parent; +} + +char * +menu_layout_node_get_content_as_path (MenuLayoutNode *node) +{ + if (node->content == NULL) + { + menu_verbose (" (node has no content to get as a path)\n"); + return NULL; + } + + if (g_path_is_absolute (node->content)) + { + return g_strdup (node->content); + } + else + { + MenuLayoutNodeRoot *root; + + root = (MenuLayoutNodeRoot *) menu_layout_node_get_root (node); + + if (root->basedir == NULL) + { + menu_verbose ("No basedir available, using \"%s\" as-is\n", + node->content); + return g_strdup (node->content); + } + else + { + menu_verbose ("Using basedir \"%s\" filename \"%s\"\n", + root->basedir, node->content); + return g_build_filename (root->basedir, node->content, NULL); + } + } +} + +#define RETURN_IF_NO_PARENT(node) G_STMT_START { \ + if ((node)->parent == NULL) \ + { \ + g_warning ("To add siblings to a menu node, " \ + "it must not be the root node, " \ + "and must be linked in below some root node\n" \ + "node parent = %p and type = %d", \ + (node)->parent, (node)->type); \ + return; \ + } \ + } G_STMT_END + +#define RETURN_IF_HAS_ENTRY_DIRS(node) G_STMT_START { \ + if ((node)->type == MENU_LAYOUT_NODE_MENU && \ + (((MenuLayoutNodeMenu*)(node))->app_dirs != NULL || \ + ((MenuLayoutNodeMenu*)(node))->dir_dirs != NULL)) \ + { \ + g_warning ("node acquired ->app_dirs or ->dir_dirs " \ + "while not rooted in a tree\n"); \ + return; \ + } \ + } G_STMT_END \ + +void +menu_layout_node_insert_before (MenuLayoutNode *node, + MenuLayoutNode *new_sibling) +{ + g_return_if_fail (new_sibling != NULL); + g_return_if_fail (new_sibling->parent == NULL); + + RETURN_IF_NO_PARENT (node); + RETURN_IF_HAS_ENTRY_DIRS (new_sibling); + + new_sibling->next = node; + new_sibling->prev = node->prev; + + node->prev = new_sibling; + new_sibling->prev->next = new_sibling; + + new_sibling->parent = node->parent; + + if (node == node->parent->children) + node->parent->children = new_sibling; + + menu_layout_node_ref (new_sibling); +} + +void +menu_layout_node_insert_after (MenuLayoutNode *node, + MenuLayoutNode *new_sibling) +{ + g_return_if_fail (new_sibling != NULL); + g_return_if_fail (new_sibling->parent == NULL); + + RETURN_IF_NO_PARENT (node); + RETURN_IF_HAS_ENTRY_DIRS (new_sibling); + + new_sibling->prev = node; + new_sibling->next = node->next; + + node->next = new_sibling; + new_sibling->next->prev = new_sibling; + + new_sibling->parent = node->parent; + + menu_layout_node_ref (new_sibling); +} + +void +menu_layout_node_prepend_child (MenuLayoutNode *parent, + MenuLayoutNode *new_child) +{ + RETURN_IF_HAS_ENTRY_DIRS (new_child); + + if (parent->children) + { + menu_layout_node_insert_before (parent->children, new_child); + } + else + { + parent->children = menu_layout_node_ref (new_child); + new_child->parent = parent; + } +} + +void +menu_layout_node_append_child (MenuLayoutNode *parent, + MenuLayoutNode *new_child) +{ + RETURN_IF_HAS_ENTRY_DIRS (new_child); + + if (parent->children) + { + menu_layout_node_insert_after (parent->children->prev, new_child); + } + else + { + parent->children = menu_layout_node_ref (new_child); + new_child->parent = parent; + } +} + +void +menu_layout_node_unlink (MenuLayoutNode *node) +{ + g_return_if_fail (node != NULL); + g_return_if_fail (node->parent != NULL); + + menu_layout_node_steal (node); + menu_layout_node_unref (node); +} + +static void +recursive_clean_entry_directory_lists (MenuLayoutNode *node, + gboolean apps) +{ + EntryDirectoryList **dirs; + MenuLayoutNodeMenu *nm; + MenuLayoutNode *iter; + + if (node->type != MENU_LAYOUT_NODE_MENU) + return; + + nm = (MenuLayoutNodeMenu *) node; + + dirs = apps ? &nm->app_dirs : &nm->dir_dirs; + + if (*dirs == NULL || entry_directory_list_get_length (*dirs) == 0) + return; /* child menus continue to have valid lists */ + + remove_entry_directory_list (nm, dirs); + + iter = node->children; + while (iter != NULL) + { + if (iter->type == MENU_LAYOUT_NODE_MENU) + recursive_clean_entry_directory_lists (iter, apps); + + iter = node_next (iter); + } +} + +void +menu_layout_node_steal (MenuLayoutNode *node) +{ + g_return_if_fail (node != NULL); + g_return_if_fail (node->parent != NULL); + + switch (node->type) + { + case MENU_LAYOUT_NODE_NAME: + { + MenuLayoutNodeMenu *nm = (MenuLayoutNodeMenu *) node->parent; + + if (nm->name_node == node) + { + menu_layout_node_unref (nm->name_node); + nm->name_node = NULL; + } + } + break; + + case MENU_LAYOUT_NODE_APP_DIR: + recursive_clean_entry_directory_lists (node->parent, TRUE); + break; + + case MENU_LAYOUT_NODE_DIRECTORY_DIR: + recursive_clean_entry_directory_lists (node->parent, FALSE); + break; + + default: + break; + } + + if (node->parent && node->parent->children == node) + { + if (node->next != node) + node->parent->children = node->next; + else + node->parent->children = NULL; + } + + /* these are no-ops for length-one node lists */ + node->prev->next = node->next; + node->next->prev = node->prev; + + node->parent = NULL; + + /* point to ourselves, now we're length one */ + node->next = node; + node->prev = node; +} + +MenuLayoutNodeType +menu_layout_node_get_type (MenuLayoutNode *node) +{ + return node->type; +} + +const char * +menu_layout_node_get_content (MenuLayoutNode *node) +{ + return node->content; +} + +void +menu_layout_node_set_content (MenuLayoutNode *node, + const char *content) +{ + if (node->content == content) + return; + + g_free (node->content); + node->content = g_strdup (content); +} + +const char * +menu_layout_node_root_get_name (MenuLayoutNode *node) +{ + MenuLayoutNodeRoot *nr; + + g_return_val_if_fail (node->type == MENU_LAYOUT_NODE_ROOT, NULL); + + nr = (MenuLayoutNodeRoot*) node; + + return nr->name; +} + +const char * +menu_layout_node_root_get_basedir (MenuLayoutNode *node) +{ + MenuLayoutNodeRoot *nr; + + g_return_val_if_fail (node->type == MENU_LAYOUT_NODE_ROOT, NULL); + + nr = (MenuLayoutNodeRoot*) node; + + return nr->basedir; +} + +const char * +menu_layout_node_menu_get_name (MenuLayoutNode *node) +{ + MenuLayoutNodeMenu *nm; + + g_return_val_if_fail (node->type == MENU_LAYOUT_NODE_MENU, NULL); + + nm = (MenuLayoutNodeMenu*) node; + + if (nm->name_node == NULL) + { + MenuLayoutNode *iter; + + iter = node->children; + while (iter != NULL) + { + if (iter->type == MENU_LAYOUT_NODE_NAME) + { + nm->name_node = menu_layout_node_ref (iter); + break; + } + + iter = node_next (iter); + } + } + + if (nm->name_node == NULL) + return NULL; + + return menu_layout_node_get_content (nm->name_node); +} + +static void +ensure_dir_lists (MenuLayoutNodeMenu *nm) +{ + MenuLayoutNode *node; + MenuLayoutNode *iter; + EntryDirectoryList *app_dirs; + EntryDirectoryList *dir_dirs; + + node = (MenuLayoutNode *) nm; + + if (nm->app_dirs && nm->dir_dirs) + return; + + app_dirs = NULL; + dir_dirs = NULL; + + if (nm->app_dirs == NULL) + { + app_dirs = entry_directory_list_new (); + + if (node->parent && node->parent->type == MENU_LAYOUT_NODE_MENU) + { + EntryDirectoryList *dirs; + + if ((dirs = menu_layout_node_menu_get_app_dirs (node->parent))) + entry_directory_list_append_list (app_dirs, dirs); + } + } + + if (nm->dir_dirs == NULL) + { + dir_dirs = entry_directory_list_new (); + + if (node->parent && node->parent->type == MENU_LAYOUT_NODE_MENU) + { + EntryDirectoryList *dirs; + + if ((dirs = menu_layout_node_menu_get_directory_dirs (node->parent))) + entry_directory_list_append_list (dir_dirs, dirs); + } + } + + iter = node->children; + while (iter != NULL) + { + EntryDirectory *ed; + + if (app_dirs != NULL && iter->type == MENU_LAYOUT_NODE_APP_DIR) + { + char *path; + + path = menu_layout_node_get_content_as_path (iter); + + ed = entry_directory_new (DESKTOP_ENTRY_DESKTOP, path); + if (ed != NULL) + { + entry_directory_list_prepend (app_dirs, ed); + entry_directory_unref (ed); + } + + g_free (path); + } + + if (dir_dirs != NULL && iter->type == MENU_LAYOUT_NODE_DIRECTORY_DIR) + { + char *path; + + path = menu_layout_node_get_content_as_path (iter); + + ed = entry_directory_new (DESKTOP_ENTRY_DIRECTORY, path); + if (ed != NULL) + { + entry_directory_list_prepend (dir_dirs, ed); + entry_directory_unref (ed); + } + + g_free (path); + } + + if (iter->type == MENU_LAYOUT_NODE_LEGACY_DIR) + { + MenuLayoutNodeLegacyDir *legacy = (MenuLayoutNodeLegacyDir *) iter; + char *path; + + path = menu_layout_node_get_content_as_path (iter); + + if (app_dirs != NULL) /* we're loading app dirs */ + { + ed = entry_directory_new_legacy (DESKTOP_ENTRY_DESKTOP, + path, + legacy->prefix); + if (ed != NULL) + { + entry_directory_list_prepend (app_dirs, ed); + entry_directory_unref (ed); + } + } + + if (dir_dirs != NULL) /* we're loading dir dirs */ + { + ed = entry_directory_new_legacy (DESKTOP_ENTRY_DIRECTORY, + path, + legacy->prefix); + if (ed != NULL) + { + entry_directory_list_prepend (dir_dirs, ed); + entry_directory_unref (ed); + } + } + + g_free (path); + } + + iter = node_next (iter); + } + + if (app_dirs) + { + g_assert (nm->app_dirs == NULL); + + nm->app_dirs = app_dirs; + entry_directory_list_add_monitors (nm->app_dirs, + (EntryDirectoryChangedFunc) handle_entry_directory_changed, + nm); + } + + if (dir_dirs) + { + g_assert (nm->dir_dirs == NULL); + + nm->dir_dirs = dir_dirs; + entry_directory_list_add_monitors (nm->dir_dirs, + (EntryDirectoryChangedFunc) handle_entry_directory_changed, + nm); + } +} + +EntryDirectoryList * +menu_layout_node_menu_get_app_dirs (MenuLayoutNode *node) +{ + MenuLayoutNodeMenu *nm; + + g_return_val_if_fail (node->type == MENU_LAYOUT_NODE_MENU, NULL); + + nm = (MenuLayoutNodeMenu *) node; + + ensure_dir_lists (nm); + + return nm->app_dirs; +} + +EntryDirectoryList * +menu_layout_node_menu_get_directory_dirs (MenuLayoutNode *node) +{ + MenuLayoutNodeMenu *nm; + + g_return_val_if_fail (node->type == MENU_LAYOUT_NODE_MENU, NULL); + + nm = (MenuLayoutNodeMenu *) node; + + ensure_dir_lists (nm); + + return nm->dir_dirs; +} + +const char * +menu_layout_node_move_get_old (MenuLayoutNode *node) +{ + MenuLayoutNode *iter; + + iter = node->children; + while (iter != NULL) + { + if (iter->type == MENU_LAYOUT_NODE_OLD) + return iter->content; + + iter = node_next (iter); + } + + return NULL; +} + +const char * +menu_layout_node_move_get_new (MenuLayoutNode *node) +{ + MenuLayoutNode *iter; + + iter = node->children; + while (iter != NULL) + { + if (iter->type == MENU_LAYOUT_NODE_NEW) + return iter->content; + + iter = node_next (iter); + } + + return NULL; +} + +const char * +menu_layout_node_legacy_dir_get_prefix (MenuLayoutNode *node) +{ + MenuLayoutNodeLegacyDir *legacy; + + g_return_val_if_fail (node->type == MENU_LAYOUT_NODE_LEGACY_DIR, NULL); + + legacy = (MenuLayoutNodeLegacyDir *) node; + + return legacy->prefix; +} + +void +menu_layout_node_legacy_dir_set_prefix (MenuLayoutNode *node, + const char *prefix) +{ + MenuLayoutNodeLegacyDir *legacy; + + g_return_if_fail (node->type == MENU_LAYOUT_NODE_LEGACY_DIR); + + legacy = (MenuLayoutNodeLegacyDir *) node; + + g_free (legacy->prefix); + legacy->prefix = g_strdup (prefix); +} + +MenuMergeFileType +menu_layout_node_merge_file_get_type (MenuLayoutNode *node) +{ + MenuLayoutNodeMergeFile *merge_file; + + g_return_val_if_fail (node->type == MENU_LAYOUT_NODE_MERGE_FILE, FALSE); + + merge_file = (MenuLayoutNodeMergeFile *) node; + + return merge_file->type; +} + +void +menu_layout_node_merge_file_set_type (MenuLayoutNode *node, + MenuMergeFileType type) +{ + MenuLayoutNodeMergeFile *merge_file; + + g_return_if_fail (node->type == MENU_LAYOUT_NODE_MERGE_FILE); + + merge_file = (MenuLayoutNodeMergeFile *) node; + + merge_file->type = type; +} + +MenuLayoutMergeType +menu_layout_node_merge_get_type (MenuLayoutNode *node) +{ + MenuLayoutNodeMerge *merge; + + g_return_val_if_fail (node->type == MENU_LAYOUT_NODE_MERGE, 0); + + merge = (MenuLayoutNodeMerge *) node; + + return merge->merge_type; +} + +static void +menu_layout_node_merge_set_type (MenuLayoutNode *node, + const char *merge_type) +{ + MenuLayoutNodeMerge *merge; + + g_return_if_fail (node->type == MENU_LAYOUT_NODE_MERGE); + + merge = (MenuLayoutNodeMerge *) node; + + merge->merge_type = MENU_LAYOUT_MERGE_NONE; + + if (strcmp (merge_type, "menus") == 0) + { + merge->merge_type = MENU_LAYOUT_MERGE_MENUS; + } + else if (strcmp (merge_type, "files") == 0) + { + merge->merge_type = MENU_LAYOUT_MERGE_FILES; + } + else if (strcmp (merge_type, "all") == 0) + { + merge->merge_type = MENU_LAYOUT_MERGE_ALL; + } +} + +void +menu_layout_node_default_layout_get_values (MenuLayoutNode *node, + MenuLayoutValues *values) +{ + MenuLayoutNodeDefaultLayout *default_layout; + + g_return_if_fail (node->type == MENU_LAYOUT_NODE_DEFAULT_LAYOUT); + g_return_if_fail (values != NULL); + + default_layout = (MenuLayoutNodeDefaultLayout *) node; + + *values = default_layout->layout_values; +} + +void +menu_layout_node_menuname_get_values (MenuLayoutNode *node, + MenuLayoutValues *values) +{ + MenuLayoutNodeMenuname *menuname; + + g_return_if_fail (node->type == MENU_LAYOUT_NODE_MENUNAME); + g_return_if_fail (values != NULL); + + menuname = (MenuLayoutNodeMenuname *) node; + + *values = menuname->layout_values; +} + +static void +menu_layout_values_set (MenuLayoutValues *values, + const char *show_empty, + const char *inline_menus, + const char *inline_limit, + const char *inline_header, + const char *inline_alias) +{ + values->mask = MENU_LAYOUT_VALUES_NONE; + values->show_empty = FALSE; + values->inline_menus = FALSE; + values->inline_limit = 4; + values->inline_header = FALSE; + values->inline_alias = FALSE; + + if (show_empty != NULL) + { + values->show_empty = strcmp (show_empty, "true") == 0; + values->mask |= MENU_LAYOUT_VALUES_SHOW_EMPTY; + } + + if (inline_menus != NULL) + { + values->inline_menus = strcmp (inline_menus, "true") == 0; + values->mask |= MENU_LAYOUT_VALUES_INLINE_MENUS; + } + + if (inline_limit != NULL) + { + char *end; + int limit; + + limit = strtol (inline_limit, &end, 10); + if (*end == '\0') + { + values->inline_limit = limit; + values->mask |= MENU_LAYOUT_VALUES_INLINE_LIMIT; + } + } + + if (inline_header != NULL) + { + values->inline_header = strcmp (inline_header, "true") == 0; + values->mask |= MENU_LAYOUT_VALUES_INLINE_HEADER; + } + + if (inline_alias != NULL) + { + values->inline_alias = strcmp (inline_alias, "true") == 0; + values->mask |= MENU_LAYOUT_VALUES_INLINE_ALIAS; + } +} + +static void +menu_layout_node_default_layout_set_values (MenuLayoutNode *node, + const char *show_empty, + const char *inline_menus, + const char *inline_limit, + const char *inline_header, + const char *inline_alias) +{ + MenuLayoutNodeDefaultLayout *default_layout; + + g_return_if_fail (node->type == MENU_LAYOUT_NODE_DEFAULT_LAYOUT); + + default_layout = (MenuLayoutNodeDefaultLayout *) node; + + menu_layout_values_set (&default_layout->layout_values, + show_empty, + inline_menus, + inline_limit, + inline_header, + inline_alias); +} + +static void +menu_layout_node_menuname_set_values (MenuLayoutNode *node, + const char *show_empty, + const char *inline_menus, + const char *inline_limit, + const char *inline_header, + const char *inline_alias) +{ + MenuLayoutNodeMenuname *menuname; + + g_return_if_fail (node->type == MENU_LAYOUT_NODE_MENUNAME); + + menuname = (MenuLayoutNodeMenuname *) node; + + menu_layout_values_set (&menuname->layout_values, + show_empty, + inline_menus, + inline_limit, + inline_header, + inline_alias); +} + +void +menu_layout_node_root_add_entries_monitor (MenuLayoutNode *node, + MenuLayoutNodeEntriesChangedFunc callback, + gpointer user_data) +{ + MenuLayoutNodeEntriesMonitor *monitor; + MenuLayoutNodeRoot *nr; + GSList *tmp; + + g_return_if_fail (node->type == MENU_LAYOUT_NODE_ROOT); + + nr = (MenuLayoutNodeRoot *) node; + + tmp = nr->monitors; + while (tmp != NULL) + { + monitor = tmp->data; + + if (monitor->callback == callback && + monitor->user_data == user_data) + break; + + tmp = tmp->next; + } + + if (tmp == NULL) + { + monitor = g_new0 (MenuLayoutNodeEntriesMonitor, 1); + monitor->callback = callback; + monitor->user_data = user_data; + + nr->monitors = g_slist_append (nr->monitors, monitor); + } +} + +void +menu_layout_node_root_remove_entries_monitor (MenuLayoutNode *node, + MenuLayoutNodeEntriesChangedFunc callback, + gpointer user_data) +{ + MenuLayoutNodeRoot *nr; + GSList *tmp; + + g_return_if_fail (node->type == MENU_LAYOUT_NODE_ROOT); + + nr = (MenuLayoutNodeRoot *) node; + + tmp = nr->monitors; + while (tmp != NULL) + { + MenuLayoutNodeEntriesMonitor *monitor = tmp->data; + GSList *next = tmp->next; + + if (monitor->callback == callback && + monitor->user_data == user_data) + { + nr->monitors = g_slist_delete_link (nr->monitors, tmp); + g_free (monitor); + } + + tmp = next; + } +} + + +/* + * Menu file parsing + */ + +typedef struct +{ + MenuLayoutNode *root; + MenuLayoutNode *stack_top; +} MenuParser; + +static void set_error (GError **err, + GMarkupParseContext *context, + int error_domain, + int error_code, + const char *format, + ...) G_GNUC_PRINTF (5, 6); + +static void add_context_to_error (GError **err, + GMarkupParseContext *context); + +static void start_element_handler (GMarkupParseContext *context, + const char *element_name, + const char **attribute_names, + const char **attribute_values, + gpointer user_data, + GError **error); +static void end_element_handler (GMarkupParseContext *context, + const char *element_name, + gpointer user_data, + GError **error); +static void text_handler (GMarkupParseContext *context, + const char *text, + gsize text_len, + gpointer user_data, + GError **error); +static void passthrough_handler (GMarkupParseContext *context, + const char *passthrough_text, + gsize text_len, + gpointer user_data, + GError **error); + + +static GMarkupParser menu_funcs = { + start_element_handler, + end_element_handler, + text_handler, + passthrough_handler, + NULL +}; + +static void +set_error (GError **err, + GMarkupParseContext *context, + int error_domain, + int error_code, + const char *format, + ...) +{ + int line, ch; + va_list args; + char *str; + + g_markup_parse_context_get_position (context, &line, &ch); + + va_start (args, format); + str = g_strdup_vprintf (format, args); + va_end (args); + + g_set_error (err, error_domain, error_code, + "Line %d character %d: %s", + line, ch, str); + + g_free (str); +} + +static void +add_context_to_error (GError **err, + GMarkupParseContext *context) +{ + int line, ch; + char *str; + + if (err == NULL || *err == NULL) + return; + + g_markup_parse_context_get_position (context, &line, &ch); + + str = g_strdup_printf ("Line %d character %d: %s", + line, ch, (*err)->message); + g_free ((*err)->message); + (*err)->message = str; +} + +#define ELEMENT_IS(name) (strcmp (element_name, (name)) == 0) + +typedef struct +{ + const char *name; + const char **retloc; +} LocateAttr; + +static gboolean +locate_attributes (GMarkupParseContext *context, + const char *element_name, + const char **attribute_names, + const char **attribute_values, + GError **error, + const char *first_attribute_name, + const char **first_attribute_retloc, + ...) +{ +#define MAX_ATTRS 24 + LocateAttr attrs[MAX_ATTRS]; + int n_attrs; + va_list args; + const char *name; + const char **retloc; + gboolean retval; + int i; + + g_return_val_if_fail (first_attribute_name != NULL, FALSE); + g_return_val_if_fail (first_attribute_retloc != NULL, FALSE); + + retval = TRUE; + + n_attrs = 1; + attrs[0].name = first_attribute_name; + attrs[0].retloc = first_attribute_retloc; + *first_attribute_retloc = NULL; + + va_start (args, first_attribute_retloc); + + name = va_arg (args, const char *); + retloc = va_arg (args, const char **); + + while (name != NULL) + { + g_return_val_if_fail (retloc != NULL, FALSE); + + g_assert (n_attrs < MAX_ATTRS); + + attrs[n_attrs].name = name; + attrs[n_attrs].retloc = retloc; + n_attrs += 1; + *retloc = NULL; + + name = va_arg (args, const char *); + retloc = va_arg (args, const char **); + } + + va_end (args); + + i = 0; + while (attribute_names[i]) + { + int j; + + j = 0; + while (j < n_attrs) + { + if (strcmp (attrs[j].name, attribute_names[i]) == 0) + { + retloc = attrs[j].retloc; + + if (*retloc != NULL) + { + set_error (error, context, + G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE, + "Attribute \"%s\" repeated twice on the same <%s> element", + attrs[j].name, element_name); + retval = FALSE; + goto out; + } + + *retloc = attribute_values[i]; + break; + } + + ++j; + } + + if (j == n_attrs) + { + set_error (error, context, + G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE, + "Attribute \"%s\" is invalid on <%s> element in this context", + attribute_names[i], element_name); + retval = FALSE; + goto out; + } + + ++i; + } + + out: + return retval; + +#undef MAX_ATTRS +} + +static gboolean +check_no_attributes (GMarkupParseContext *context, + const char *element_name, + const char **attribute_names, + const char **attribute_values, + GError **error) +{ + if (attribute_names[0] != NULL) + { + set_error (error, context, + G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE, + "Attribute \"%s\" is invalid on <%s> element in this context", + attribute_names[0], element_name); + return FALSE; + } + + return TRUE; +} + +static int +has_child_of_type (MenuLayoutNode *node, + MenuLayoutNodeType type) +{ + MenuLayoutNode *iter; + + iter = node->children; + while (iter) + { + if (iter->type == type) + return TRUE; + + iter = node_next (iter); + } + + return FALSE; +} + +static void +push_node (MenuParser *parser, + MenuLayoutNodeType type) +{ + MenuLayoutNode *node; + + node = menu_layout_node_new (type); + menu_layout_node_append_child (parser->stack_top, node); + menu_layout_node_unref (node); + + parser->stack_top = node; +} + +static void +start_menu_element (MenuParser *parser, + GMarkupParseContext *context, + const char *element_name, + const char **attribute_names, + const char **attribute_values, + GError **error) +{ + if (!check_no_attributes (context, element_name, + attribute_names, attribute_values, + error)) + return; + + if (!(parser->stack_top->type == MENU_LAYOUT_NODE_ROOT || + parser->stack_top->type == MENU_LAYOUT_NODE_MENU)) + { + set_error (error, context, + G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE, + "<Menu> element can only appear below other <Menu> elements or at toplevel\n"); + } + else + { + push_node (parser, MENU_LAYOUT_NODE_MENU); + } +} + +static void +start_menu_child_element (MenuParser *parser, + GMarkupParseContext *context, + const char *element_name, + const char **attribute_names, + const char **attribute_values, + GError **error) +{ + if (ELEMENT_IS ("LegacyDir")) + { + const char *prefix; + + push_node (parser, MENU_LAYOUT_NODE_LEGACY_DIR); + + if (!locate_attributes (context, element_name, + attribute_names, attribute_values, + error, + "prefix", &prefix, + NULL)) + return; + + menu_layout_node_legacy_dir_set_prefix (parser->stack_top, prefix); + } + else if (ELEMENT_IS ("MergeFile")) + { + const char *type; + + push_node (parser, MENU_LAYOUT_NODE_MERGE_FILE); + + if (!locate_attributes (context, element_name, + attribute_names, attribute_values, + error, + "type", &type, + NULL)) + return; + + if (type != NULL && strcmp (type, "parent") == 0) + { + menu_layout_node_merge_file_set_type (parser->stack_top, + MENU_MERGE_FILE_TYPE_PARENT); + } + } + else if (ELEMENT_IS ("DefaultLayout")) + { + const char *show_empty; + const char *inline_menus; + const char *inline_limit; + const char *inline_header; + const char *inline_alias; + + push_node (parser, MENU_LAYOUT_NODE_DEFAULT_LAYOUT); + + locate_attributes (context, element_name, + attribute_names, attribute_values, + error, + "show_empty", &show_empty, + "inline", &inline_menus, + "inline_limit", &inline_limit, + "inline_header", &inline_header, + "inline_alias", &inline_alias, + NULL); + + menu_layout_node_default_layout_set_values (parser->stack_top, + show_empty, + inline_menus, + inline_limit, + inline_header, + inline_alias); + } + else + { + if (!check_no_attributes (context, element_name, + attribute_names, attribute_values, + error)) + return; + + if (ELEMENT_IS ("AppDir")) + { + push_node (parser, MENU_LAYOUT_NODE_APP_DIR); + } + else if (ELEMENT_IS ("DefaultAppDirs")) + { + push_node (parser, MENU_LAYOUT_NODE_DEFAULT_APP_DIRS); + } + else if (ELEMENT_IS ("DirectoryDir")) + { + push_node (parser, MENU_LAYOUT_NODE_DIRECTORY_DIR); + } + else if (ELEMENT_IS ("DefaultDirectoryDirs")) + { + push_node (parser, MENU_LAYOUT_NODE_DEFAULT_DIRECTORY_DIRS); + } + else if (ELEMENT_IS ("DefaultMergeDirs")) + { + push_node (parser, MENU_LAYOUT_NODE_DEFAULT_MERGE_DIRS); + } + else if (ELEMENT_IS ("Name")) + { + if (has_child_of_type (parser->stack_top, MENU_LAYOUT_NODE_NAME)) + { + set_error (error, context, + G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE, + "Multiple <Name> elements in a <Menu> element is not allowed\n"); + return; + } + + push_node (parser, MENU_LAYOUT_NODE_NAME); + } + else if (ELEMENT_IS ("Directory")) + { + push_node (parser, MENU_LAYOUT_NODE_DIRECTORY); + } + else if (ELEMENT_IS ("OnlyUnallocated")) + { + push_node (parser, MENU_LAYOUT_NODE_ONLY_UNALLOCATED); + } + else if (ELEMENT_IS ("NotOnlyUnallocated")) + { + push_node (parser, MENU_LAYOUT_NODE_NOT_ONLY_UNALLOCATED); + } + else if (ELEMENT_IS ("Include")) + { + push_node (parser, MENU_LAYOUT_NODE_INCLUDE); + } + else if (ELEMENT_IS ("Exclude")) + { + push_node (parser, MENU_LAYOUT_NODE_EXCLUDE); + } + else if (ELEMENT_IS ("MergeDir")) + { + push_node (parser, MENU_LAYOUT_NODE_MERGE_DIR); + } + else if (ELEMENT_IS ("KDELegacyDirs")) + { + push_node (parser, MENU_LAYOUT_NODE_KDE_LEGACY_DIRS); + } + else if (ELEMENT_IS ("Move")) + { + push_node (parser, MENU_LAYOUT_NODE_MOVE); + } + else if (ELEMENT_IS ("Deleted")) + { + push_node (parser, MENU_LAYOUT_NODE_DELETED); + + } + else if (ELEMENT_IS ("NotDeleted")) + { + push_node (parser, MENU_LAYOUT_NODE_NOT_DELETED); + } + else if (ELEMENT_IS ("Layout")) + { + push_node (parser, MENU_LAYOUT_NODE_LAYOUT); + } + else + { + set_error (error, context, + G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ELEMENT, + "Element <%s> may not appear below <%s>\n", + element_name, "Menu"); + } + } +} + +static void +start_matching_rule_element (MenuParser *parser, + GMarkupParseContext *context, + const char *element_name, + const char **attribute_names, + const char **attribute_values, + GError **error) +{ + if (!check_no_attributes (context, element_name, + attribute_names, attribute_values, + error)) + return; + + + if (ELEMENT_IS ("Filename")) + { + push_node (parser, MENU_LAYOUT_NODE_FILENAME); + } + else if (ELEMENT_IS ("Category")) + { + push_node (parser, MENU_LAYOUT_NODE_CATEGORY); + } + else if (ELEMENT_IS ("All")) + { + push_node (parser, MENU_LAYOUT_NODE_ALL); + } + else if (ELEMENT_IS ("And")) + { + push_node (parser, MENU_LAYOUT_NODE_AND); + } + else if (ELEMENT_IS ("Or")) + { + push_node (parser, MENU_LAYOUT_NODE_OR); + } + else if (ELEMENT_IS ("Not")) + { + push_node (parser, MENU_LAYOUT_NODE_NOT); + } + else + { + set_error (error, context, + G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ELEMENT, + "Element <%s> may not appear in this context\n", + element_name); + } +} + +static void +start_move_child_element (MenuParser *parser, + GMarkupParseContext *context, + const char *element_name, + const char **attribute_names, + const char **attribute_values, + GError **error) +{ + if (!check_no_attributes (context, element_name, + attribute_names, attribute_values, + error)) + return; + + if (ELEMENT_IS ("Old")) + { + push_node (parser, MENU_LAYOUT_NODE_OLD); + } + else if (ELEMENT_IS ("New")) + { + push_node (parser, MENU_LAYOUT_NODE_NEW); + } + else + { + set_error (error, context, + G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ELEMENT, + "Element <%s> may not appear below <%s>\n", + element_name, "Move"); + } +} + +static void +start_layout_child_element (MenuParser *parser, + GMarkupParseContext *context, + const char *element_name, + const char **attribute_names, + const char **attribute_values, + GError **error) +{ + if (ELEMENT_IS ("Menuname")) + { + const char *show_empty; + const char *inline_menus; + const char *inline_limit; + const char *inline_header; + const char *inline_alias; + + push_node (parser, MENU_LAYOUT_NODE_MENUNAME); + + locate_attributes (context, element_name, + attribute_names, attribute_values, + error, + "show_empty", &show_empty, + "inline", &inline_menus, + "inline_limit", &inline_limit, + "inline_header", &inline_header, + "inline_alias", &inline_alias, + NULL); + + menu_layout_node_menuname_set_values (parser->stack_top, + show_empty, + inline_menus, + inline_limit, + inline_header, + inline_alias); + } + else if (ELEMENT_IS ("Merge")) + { + const char *type; + + push_node (parser, MENU_LAYOUT_NODE_MERGE); + + locate_attributes (context, element_name, + attribute_names, attribute_values, + error, + "type", &type, + NULL); + + menu_layout_node_merge_set_type (parser->stack_top, type); + } + else + { + if (!check_no_attributes (context, element_name, + attribute_names, attribute_values, + error)) + return; + + if (ELEMENT_IS ("Filename")) + { + push_node (parser, MENU_LAYOUT_NODE_FILENAME); + } + else if (ELEMENT_IS ("Separator")) + { + push_node (parser, MENU_LAYOUT_NODE_SEPARATOR); + } + else + { + set_error (error, context, + G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ELEMENT, + "Element <%s> may not appear below <%s>\n", + element_name, "Move"); + } + } +} + +static void +start_element_handler (GMarkupParseContext *context, + const char *element_name, + const char **attribute_names, + const char **attribute_values, + gpointer user_data, + GError **error) +{ + MenuParser *parser = user_data; + + if (ELEMENT_IS ("Menu")) + { + if (parser->stack_top == parser->root && + has_child_of_type (parser->root, MENU_LAYOUT_NODE_MENU)) + { + set_error (error, context, + G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE, + "Multiple root elements in menu file, only one toplevel <Menu> is allowed\n"); + return; + } + + start_menu_element (parser, context, element_name, + attribute_names, attribute_values, + error); + } + else if (parser->stack_top == parser->root) + { + set_error (error, context, + G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE, + "Root element in a menu file must be <Menu>, not <%s>\n", + element_name); + } + else if (parser->stack_top->type == MENU_LAYOUT_NODE_MENU) + { + start_menu_child_element (parser, context, element_name, + attribute_names, attribute_values, + error); + } + else if (parser->stack_top->type == MENU_LAYOUT_NODE_INCLUDE || + parser->stack_top->type == MENU_LAYOUT_NODE_EXCLUDE || + parser->stack_top->type == MENU_LAYOUT_NODE_AND || + parser->stack_top->type == MENU_LAYOUT_NODE_OR || + parser->stack_top->type == MENU_LAYOUT_NODE_NOT) + { + start_matching_rule_element (parser, context, element_name, + attribute_names, attribute_values, + error); + } + else if (parser->stack_top->type == MENU_LAYOUT_NODE_MOVE) + { + start_move_child_element (parser, context, element_name, + attribute_names, attribute_values, + error); + } + else if (parser->stack_top->type == MENU_LAYOUT_NODE_LAYOUT || + parser->stack_top->type == MENU_LAYOUT_NODE_DEFAULT_LAYOUT) + { + start_layout_child_element (parser, context, element_name, + attribute_names, attribute_values, + error); + } + else + { + set_error (error, context, + G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ELEMENT, + "Element <%s> may not appear in this context\n", + element_name); + } + + add_context_to_error (error, context); +} + +/* we want to make sure that the <Layout> or <DefaultLayout> is either empty, + * or contain one <Merge> of type "all", or contain one <Merge> of type "menus" + * and one <Merge> of type "files". If this is not the case, we try to clean up + * things: + * + if there is at least one <Merge> of type "all", then we only keep the + * last <Merge> of type "all" and remove all others <Merge> + * + if there is no <Merge> with type "all", we keep only the last <Merge> of + * type "menus" and the last <Merge> of type "files". If there's no <Merge> + * of type "menus" we append one, and then if there's no <Merge> of type + * "files", we append one. (So menus are before files) + */ +static gboolean +fixup_layout_node (GMarkupParseContext *context, + MenuParser *parser, + MenuLayoutNode *node, + GError **error) +{ + MenuLayoutNode *child; + MenuLayoutNode *last_all; + MenuLayoutNode *last_menus; + MenuLayoutNode *last_files; + int n_all; + int n_menus; + int n_files; + + if (!node->children) + { + return TRUE; + } + + last_all = NULL; + last_menus = NULL; + last_files = NULL; + n_all = 0; + n_menus = 0; + n_files = 0; + + child = node->children; + while (child != NULL) + { + switch (child->type) + { + case MENU_LAYOUT_NODE_MERGE: + switch (menu_layout_node_merge_get_type (child)) + { + case MENU_LAYOUT_MERGE_NONE: + break; + + case MENU_LAYOUT_MERGE_MENUS: + last_menus = child; + n_menus++; + break; + + case MENU_LAYOUT_MERGE_FILES: + last_files = child; + n_files++; + break; + + case MENU_LAYOUT_MERGE_ALL: + last_all = child; + n_all++; + break; + + default: + g_assert_not_reached (); + break; + } + break; + + default: + break; + } + + child = node_next (child); + } + + if ((n_all == 1 && n_menus == 0 && n_files == 0) || + (n_all == 0 && n_menus == 1 && n_files == 1)) + { + return TRUE; + } + else if (n_all > 1 || n_menus > 1 || n_files > 1 || + (n_all == 1 && (n_menus != 0 || n_files != 0))) + { + child = node->children; + while (child != NULL) + { + MenuLayoutNode *next; + + next = node_next (child); + + switch (child->type) + { + case MENU_LAYOUT_NODE_MERGE: + switch (menu_layout_node_merge_get_type (child)) + { + case MENU_LAYOUT_MERGE_NONE: + break; + + case MENU_LAYOUT_MERGE_MENUS: + if (n_all || last_menus != child) + { + menu_verbose ("removing duplicated merge menus element\n"); + menu_layout_node_unlink (child); + } + break; + + case MENU_LAYOUT_MERGE_FILES: + if (n_all || last_files != child) + { + menu_verbose ("removing duplicated merge files element\n"); + menu_layout_node_unlink (child); + } + break; + + case MENU_LAYOUT_MERGE_ALL: + if (last_all != child) + { + menu_verbose ("removing duplicated merge all element\n"); + menu_layout_node_unlink (child); + } + break; + + default: + g_assert_not_reached (); + break; + } + break; + + default: + break; + } + + child = next; + } + } + + if (n_all == 0 && n_menus == 0) + { + last_menus = menu_layout_node_new (MENU_LAYOUT_NODE_MERGE); + menu_layout_node_merge_set_type (last_menus, "menus"); + menu_verbose ("appending missing merge menus element\n"); + menu_layout_node_append_child (node, last_menus); + } + + if (n_all == 0 && n_files == 0) + { + last_files = menu_layout_node_new (MENU_LAYOUT_NODE_MERGE); + menu_layout_node_merge_set_type (last_files, "files"); + menu_verbose ("appending missing merge files element\n"); + menu_layout_node_append_child (node, last_files); + } + + return TRUE; +} + +/* we want to a) check that we have old-new pairs and b) canonicalize + * such that each <Move> has exactly one old-new pair + */ +static gboolean +fixup_move_node (GMarkupParseContext *context, + MenuParser *parser, + MenuLayoutNode *node, + GError **error) +{ + MenuLayoutNode *child; + int n_old; + int n_new; + + n_old = 0; + n_new = 0; + + child = node->children; + while (child != NULL) + { + switch (child->type) + { + case MENU_LAYOUT_NODE_OLD: + if (n_new != n_old) + { + set_error (error, context, + G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE, + "<Old>/<New> elements not paired properly\n"); + return FALSE; + } + + n_old += 1; + + break; + + case MENU_LAYOUT_NODE_NEW: + n_new += 1; + + if (n_new != n_old) + { + set_error (error, context, + G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE, + "<Old>/<New> elements not paired properly\n"); + return FALSE; + } + + break; + + default: + g_assert_not_reached (); + break; + } + + child = node_next (child); + } + + if (n_new == 0 || n_old == 0) + { + set_error (error, context, + G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE, + "<Old>/<New> elements missing under <Move>\n"); + return FALSE; + } + + g_assert (n_new == n_old); + g_assert ((n_new + n_old) % 2 == 0); + + if (n_new > 1) + { + MenuLayoutNode *prev; + MenuLayoutNode *append_after; + + /* Need to split the <Move> into multiple <Move> */ + + n_old = 0; + n_new = 0; + prev = NULL; + append_after = node; + + child = node->children; + while (child != NULL) + { + MenuLayoutNode *next; + + next = node_next (child); + + switch (child->type) + { + case MENU_LAYOUT_NODE_OLD: + n_old += 1; + break; + + case MENU_LAYOUT_NODE_NEW: + n_new += 1; + break; + + default: + g_assert_not_reached (); + break; + } + + if (n_old == n_new && + n_old > 1) + { + /* Move the just-completed pair */ + MenuLayoutNode *new_move; + + g_assert (prev != NULL); + + new_move = menu_layout_node_new (MENU_LAYOUT_NODE_MOVE); + menu_verbose ("inserting new_move after append_after\n"); + menu_layout_node_insert_after (append_after, new_move); + append_after = new_move; + + menu_layout_node_steal (prev); + menu_layout_node_steal (child); + + menu_verbose ("appending prev to new_move\n"); + menu_layout_node_append_child (new_move, prev); + menu_verbose ("appending child to new_move\n"); + menu_layout_node_append_child (new_move, child); + + menu_verbose ("Created new move element old = %s new = %s\n", + menu_layout_node_move_get_old (new_move), + menu_layout_node_move_get_new (new_move)); + + menu_layout_node_unref (new_move); + menu_layout_node_unref (prev); + menu_layout_node_unref (child); + + prev = NULL; + } + else + { + prev = child; + } + + prev = child; + child = next; + } + } + + return TRUE; +} + +static void +end_element_handler (GMarkupParseContext *context, + const char *element_name, + gpointer user_data, + GError **error) +{ + MenuParser *parser = user_data; + + g_assert (parser->stack_top != NULL); + + switch (parser->stack_top->type) + { + case MENU_LAYOUT_NODE_APP_DIR: + case MENU_LAYOUT_NODE_DIRECTORY_DIR: + case MENU_LAYOUT_NODE_NAME: + case MENU_LAYOUT_NODE_DIRECTORY: + case MENU_LAYOUT_NODE_FILENAME: + case MENU_LAYOUT_NODE_CATEGORY: + case MENU_LAYOUT_NODE_MERGE_DIR: + case MENU_LAYOUT_NODE_LEGACY_DIR: + case MENU_LAYOUT_NODE_OLD: + case MENU_LAYOUT_NODE_NEW: + case MENU_LAYOUT_NODE_MENUNAME: + if (menu_layout_node_get_content (parser->stack_top) == NULL) + { + set_error (error, context, + G_MARKUP_ERROR, G_MARKUP_ERROR_INVALID_CONTENT, + "Element <%s> is required to contain text and was empty\n", + element_name); + goto out; + } + break; + + case MENU_LAYOUT_NODE_MENU: + if (!has_child_of_type (parser->stack_top, MENU_LAYOUT_NODE_NAME)) + { + set_error (error, context, + G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE, + "<Menu> elements are required to contain a <Name> element\n"); + goto out; + } + break; + + case MENU_LAYOUT_NODE_ROOT: + case MENU_LAYOUT_NODE_PASSTHROUGH: + case MENU_LAYOUT_NODE_DEFAULT_APP_DIRS: + case MENU_LAYOUT_NODE_DEFAULT_DIRECTORY_DIRS: + case MENU_LAYOUT_NODE_DEFAULT_MERGE_DIRS: + case MENU_LAYOUT_NODE_ONLY_UNALLOCATED: + case MENU_LAYOUT_NODE_NOT_ONLY_UNALLOCATED: + case MENU_LAYOUT_NODE_INCLUDE: + case MENU_LAYOUT_NODE_EXCLUDE: + case MENU_LAYOUT_NODE_ALL: + case MENU_LAYOUT_NODE_AND: + case MENU_LAYOUT_NODE_OR: + case MENU_LAYOUT_NODE_NOT: + case MENU_LAYOUT_NODE_KDE_LEGACY_DIRS: + case MENU_LAYOUT_NODE_DELETED: + case MENU_LAYOUT_NODE_NOT_DELETED: + case MENU_LAYOUT_NODE_SEPARATOR: + case MENU_LAYOUT_NODE_MERGE: + case MENU_LAYOUT_NODE_MERGE_FILE: + break; + + case MENU_LAYOUT_NODE_LAYOUT: + case MENU_LAYOUT_NODE_DEFAULT_LAYOUT: + if (!fixup_layout_node (context, parser, parser->stack_top, error)) + goto out; + break; + + case MENU_LAYOUT_NODE_MOVE: + if (!fixup_move_node (context, parser, parser->stack_top, error)) + goto out; + break; + } + + out: + parser->stack_top = parser->stack_top->parent; +} + +static gboolean +all_whitespace (const char *text, + int text_len) +{ + const char *p; + const char *end; + + p = text; + end = text + text_len; + + while (p != end) + { + if (!g_ascii_isspace (*p)) + return FALSE; + + p = g_utf8_next_char (p); + } + + return TRUE; +} + +static void +text_handler (GMarkupParseContext *context, + const char *text, + gsize text_len, + gpointer user_data, + GError **error) +{ + MenuParser *parser = user_data; + + switch (parser->stack_top->type) + { + case MENU_LAYOUT_NODE_APP_DIR: + case MENU_LAYOUT_NODE_DIRECTORY_DIR: + case MENU_LAYOUT_NODE_NAME: + case MENU_LAYOUT_NODE_DIRECTORY: + case MENU_LAYOUT_NODE_FILENAME: + case MENU_LAYOUT_NODE_CATEGORY: + case MENU_LAYOUT_NODE_MERGE_FILE: + case MENU_LAYOUT_NODE_MERGE_DIR: + case MENU_LAYOUT_NODE_LEGACY_DIR: + case MENU_LAYOUT_NODE_OLD: + case MENU_LAYOUT_NODE_NEW: + case MENU_LAYOUT_NODE_MENUNAME: + g_assert (menu_layout_node_get_content (parser->stack_top) == NULL); + + menu_layout_node_set_content (parser->stack_top, text); + break; + + case MENU_LAYOUT_NODE_ROOT: + case MENU_LAYOUT_NODE_PASSTHROUGH: + case MENU_LAYOUT_NODE_MENU: + case MENU_LAYOUT_NODE_DEFAULT_APP_DIRS: + case MENU_LAYOUT_NODE_DEFAULT_DIRECTORY_DIRS: + case MENU_LAYOUT_NODE_DEFAULT_MERGE_DIRS: + case MENU_LAYOUT_NODE_ONLY_UNALLOCATED: + case MENU_LAYOUT_NODE_NOT_ONLY_UNALLOCATED: + case MENU_LAYOUT_NODE_INCLUDE: + case MENU_LAYOUT_NODE_EXCLUDE: + case MENU_LAYOUT_NODE_ALL: + case MENU_LAYOUT_NODE_AND: + case MENU_LAYOUT_NODE_OR: + case MENU_LAYOUT_NODE_NOT: + case MENU_LAYOUT_NODE_KDE_LEGACY_DIRS: + case MENU_LAYOUT_NODE_MOVE: + case MENU_LAYOUT_NODE_DELETED: + case MENU_LAYOUT_NODE_NOT_DELETED: + case MENU_LAYOUT_NODE_LAYOUT: + case MENU_LAYOUT_NODE_DEFAULT_LAYOUT: + case MENU_LAYOUT_NODE_SEPARATOR: + case MENU_LAYOUT_NODE_MERGE: + if (!all_whitespace (text, text_len)) + { + set_error (error, context, + G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE, + "No text is allowed inside element <%s>", + g_markup_parse_context_get_element (context)); + } + break; + } + + add_context_to_error (error, context); +} + +static void +passthrough_handler (GMarkupParseContext *context, + const char *passthrough_text, + gsize text_len, + gpointer user_data, + GError **error) +{ + MenuParser *parser = user_data; + MenuLayoutNode *node; + + /* don't push passthrough on the stack, it's not an element */ + + node = menu_layout_node_new (MENU_LAYOUT_NODE_PASSTHROUGH); + menu_layout_node_set_content (node, passthrough_text); + + menu_layout_node_append_child (parser->stack_top, node); + menu_layout_node_unref (node); + + add_context_to_error (error, context); +} + +static void +menu_parser_init (MenuParser *parser) +{ + parser->root = menu_layout_node_new (MENU_LAYOUT_NODE_ROOT); + parser->stack_top = parser->root; +} + +static void +menu_parser_free (MenuParser *parser) +{ + if (parser->root) + menu_layout_node_unref (parser->root); +} + +MenuLayoutNode * +menu_layout_load (const char *filename, + const char *non_prefixed_basename, + GError **err) +{ + GMarkupParseContext *context; + MenuLayoutNodeRoot *root; + MenuLayoutNode *retval; + MenuParser parser; + GError *error; + GString *str; + char *text; + char *s; + gsize length; + + text = NULL; + length = 0; + retval = NULL; + context = NULL; + + menu_verbose ("Loading \"%s\" from disk\n", filename); + + if (!g_file_get_contents (filename, + &text, + &length, + err)) + { + menu_verbose ("Failed to load \"%s\"\n", + filename); + return NULL; + } + + g_assert (text != NULL); + + menu_parser_init (&parser); + + root = (MenuLayoutNodeRoot *) parser.root; + + root->basedir = g_path_get_dirname (filename); + menu_verbose ("Set basedir \"%s\"\n", root->basedir); + + if (non_prefixed_basename) + s = g_strdup (non_prefixed_basename); + else + s = g_path_get_basename (filename); + str = g_string_new (s); + if (g_str_has_suffix (str->str, ".menu")) + g_string_truncate (str, str->len - strlen (".menu")); + + root->name = str->str; + menu_verbose ("Set menu name \"%s\"\n", root->name); + + g_string_free (str, FALSE); + g_free (s); + + context = g_markup_parse_context_new (&menu_funcs, 0, &parser, NULL); + + error = NULL; + if (!g_markup_parse_context_parse (context, + text, + length, + &error)) + goto out; + + error = NULL; + g_markup_parse_context_end_parse (context, &error); + + out: + if (context) + g_markup_parse_context_free (context); + g_free (text); + + if (error) + { + menu_verbose ("Error \"%s\" loading \"%s\"\n", + error->message, filename); + g_propagate_error (err, error); + } + else if (has_child_of_type (parser.root, MENU_LAYOUT_NODE_MENU)) + { + menu_verbose ("File loaded OK\n"); + retval = parser.root; + parser.root = NULL; + } + else + { + menu_verbose ("Did not have a root element in file\n"); + g_set_error (err, G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE, + "Menu file %s did not contain a root <Menu> element", + filename); + } + + menu_parser_free (&parser); + + return retval; +} diff --git a/libmenu/menu-layout.h b/libmenu/menu-layout.h new file mode 100644 index 0000000..4b63014 --- /dev/null +++ b/libmenu/menu-layout.h @@ -0,0 +1,161 @@ +/* Menu layout in-memory data structure (a custom "DOM tree") */ + +/* + * Copyright (C) 2002 - 2004 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __MENU_LAYOUT_H__ +#define __MENU_LAYOUT_H__ + +#include <glib.h> + +#include "entry-directories.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct MenuLayoutNode MenuLayoutNode; + +typedef enum { + MENU_LAYOUT_NODE_ROOT, + MENU_LAYOUT_NODE_PASSTHROUGH, + MENU_LAYOUT_NODE_MENU, + MENU_LAYOUT_NODE_APP_DIR, + MENU_LAYOUT_NODE_DEFAULT_APP_DIRS, + MENU_LAYOUT_NODE_DIRECTORY_DIR, + MENU_LAYOUT_NODE_DEFAULT_DIRECTORY_DIRS, + MENU_LAYOUT_NODE_DEFAULT_MERGE_DIRS, + MENU_LAYOUT_NODE_NAME, + MENU_LAYOUT_NODE_DIRECTORY, + MENU_LAYOUT_NODE_ONLY_UNALLOCATED, + MENU_LAYOUT_NODE_NOT_ONLY_UNALLOCATED, + MENU_LAYOUT_NODE_INCLUDE, + MENU_LAYOUT_NODE_EXCLUDE, + MENU_LAYOUT_NODE_FILENAME, + MENU_LAYOUT_NODE_CATEGORY, + MENU_LAYOUT_NODE_ALL, + MENU_LAYOUT_NODE_AND, + MENU_LAYOUT_NODE_OR, + MENU_LAYOUT_NODE_NOT, + MENU_LAYOUT_NODE_MERGE_FILE, + MENU_LAYOUT_NODE_MERGE_DIR, + MENU_LAYOUT_NODE_LEGACY_DIR, + MENU_LAYOUT_NODE_KDE_LEGACY_DIRS, + MENU_LAYOUT_NODE_MOVE, + MENU_LAYOUT_NODE_OLD, + MENU_LAYOUT_NODE_NEW, + MENU_LAYOUT_NODE_DELETED, + MENU_LAYOUT_NODE_NOT_DELETED, + MENU_LAYOUT_NODE_LAYOUT, + MENU_LAYOUT_NODE_DEFAULT_LAYOUT, + MENU_LAYOUT_NODE_MENUNAME, + MENU_LAYOUT_NODE_SEPARATOR, + MENU_LAYOUT_NODE_MERGE +} MenuLayoutNodeType; + +typedef enum { + MENU_MERGE_FILE_TYPE_PATH = 0, + MENU_MERGE_FILE_TYPE_PARENT +} MenuMergeFileType; + +typedef enum { + MENU_LAYOUT_MERGE_NONE, + MENU_LAYOUT_MERGE_MENUS, + MENU_LAYOUT_MERGE_FILES, + MENU_LAYOUT_MERGE_ALL +} MenuLayoutMergeType; + +typedef enum { + MENU_LAYOUT_VALUES_NONE = 0, + MENU_LAYOUT_VALUES_SHOW_EMPTY = 1 << 0, + MENU_LAYOUT_VALUES_INLINE_MENUS = 1 << 1, + MENU_LAYOUT_VALUES_INLINE_LIMIT = 1 << 2, + MENU_LAYOUT_VALUES_INLINE_HEADER = 1 << 3, + MENU_LAYOUT_VALUES_INLINE_ALIAS = 1 << 4 +} MenuLayoutValuesMask; + +typedef struct { + MenuLayoutValuesMask mask; + + guint show_empty: 1; + guint inline_menus: 1; + guint inline_header: 1; + guint inline_alias: 1; + + guint inline_limit; +} MenuLayoutValues; + + +MenuLayoutNode *menu_layout_load (const char* filename, const char *non_prefixed_basename, GError** error); + +MenuLayoutNode *menu_layout_node_new (MenuLayoutNodeType type); +MenuLayoutNode *menu_layout_node_ref (MenuLayoutNode *node); +void menu_layout_node_unref (MenuLayoutNode *node); + +MenuLayoutNodeType menu_layout_node_get_type (MenuLayoutNode *node); + +MenuLayoutNode *menu_layout_node_get_root (MenuLayoutNode *node); +MenuLayoutNode *menu_layout_node_get_parent (MenuLayoutNode *node); +MenuLayoutNode *menu_layout_node_get_children (MenuLayoutNode *node); +MenuLayoutNode *menu_layout_node_get_next (MenuLayoutNode *node); + +void menu_layout_node_insert_before (MenuLayoutNode *node, MenuLayoutNode *new_sibling); +void menu_layout_node_insert_after (MenuLayoutNode *node, MenuLayoutNode *new_sibling); +void menu_layout_node_prepend_child (MenuLayoutNode *parent, MenuLayoutNode *new_child); +void menu_layout_node_append_child (MenuLayoutNode *parent, MenuLayoutNode *new_child); + +void menu_layout_node_unlink (MenuLayoutNode *node); +void menu_layout_node_steal (MenuLayoutNode *node); + +const char *menu_layout_node_get_content (MenuLayoutNode *node); +void menu_layout_node_set_content (MenuLayoutNode *node, const char *content); + +char *menu_layout_node_get_content_as_path (MenuLayoutNode *node); + +const char *menu_layout_node_root_get_name (MenuLayoutNode *node); +const char *menu_layout_node_root_get_basedir (MenuLayoutNode *node); + +const char *menu_layout_node_menu_get_name (MenuLayoutNode *node); +EntryDirectoryList *menu_layout_node_menu_get_app_dirs (MenuLayoutNode *node); +EntryDirectoryList *menu_layout_node_menu_get_directory_dirs (MenuLayoutNode *node); + +const char *menu_layout_node_move_get_old (MenuLayoutNode *node); +const char *menu_layout_node_move_get_new (MenuLayoutNode *node); + +const char *menu_layout_node_legacy_dir_get_prefix (MenuLayoutNode *node); +void menu_layout_node_legacy_dir_set_prefix (MenuLayoutNode *node, const char *prefix); + +MenuMergeFileType menu_layout_node_merge_file_get_type (MenuLayoutNode *node); +void menu_layout_node_merge_file_set_type (MenuLayoutNode *node, MenuMergeFileType type); + +MenuLayoutMergeType menu_layout_node_merge_get_type (MenuLayoutNode *node); + +void menu_layout_node_default_layout_get_values (MenuLayoutNode *node, MenuLayoutValues *values); +void menu_layout_node_menuname_get_values (MenuLayoutNode *node, MenuLayoutValues *values); + +typedef void (*MenuLayoutNodeEntriesChangedFunc) (MenuLayoutNode* node, gpointer user_data); + +void menu_layout_node_root_add_entries_monitor (MenuLayoutNode* node, MenuLayoutNodeEntriesChangedFunc callback, gpointer user_data); +void menu_layout_node_root_remove_entries_monitor (MenuLayoutNode* node, MenuLayoutNodeEntriesChangedFunc callback, gpointer user_data); + +#ifdef __cplusplus +} +#endif + +#endif /* __MENU_LAYOUT_H__ */ diff --git a/libmenu/menu-monitor.c b/libmenu/menu-monitor.c new file mode 100644 index 0000000..ff36010 --- /dev/null +++ b/libmenu/menu-monitor.c @@ -0,0 +1,440 @@ +/* + * Copyright (C) 2005 Red Hat, Inc. + * Copyright (C) 2006 Mark McLoughlin + * Copyright (C) 2007 Sebastian Dröge + * Copyright (C) 2008 Vincent Untz + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include <config.h> + +#include "menu-monitor.h" + +#include <gio/gio.h> + +#include "menu-util.h" + +struct MenuMonitor { + char* path; + guint refcount; + + GSList* notifies; + + GFileMonitor* monitor; + + guint is_directory: 1; +}; + +typedef struct { + MenuMonitor* monitor; + MenuMonitorEvent event; + char* path; +} MenuMonitorEventInfo; + +typedef struct { + MenuMonitorNotifyFunc notify_func; + gpointer user_data; + guint refcount; +} MenuMonitorNotify; + +static MenuMonitorNotify* mate_menu_monitor_notify_ref(MenuMonitorNotify* notify); +static void mate_menu_monitor_notify_unref(MenuMonitorNotify* notify); + +static GHashTable* monitors_registry = NULL; +static guint events_idle_handler = 0; +static GSList* pending_events = NULL; + +static void invoke_notifies(MenuMonitor* monitor, MenuMonitorEvent event, const char* path) +{ + GSList *copy; + GSList *tmp; + + copy = g_slist_copy (monitor->notifies); + g_slist_foreach (copy, + (GFunc) mate_menu_monitor_notify_ref, + NULL); + + tmp = copy; + while (tmp != NULL) + { + MenuMonitorNotify *notify = tmp->data; + GSList *next = tmp->next; + + if (notify->notify_func) + { + notify->notify_func (monitor, event, path, notify->user_data); + } + + mate_menu_monitor_notify_unref(notify); + + tmp = next; + } + + g_slist_free (copy); +} + +static gboolean emit_events_in_idle(void) +{ + GSList *events_to_emit; + GSList *tmp; + + events_to_emit = pending_events; + + pending_events = NULL; + events_idle_handler = 0; + + tmp = events_to_emit; + while (tmp != NULL) + { + MenuMonitorEventInfo *event_info = tmp->data; + + mate_menu_monitor_ref(event_info->monitor); + + tmp = tmp->next; + } + + tmp = events_to_emit; + while (tmp != NULL) + { + MenuMonitorEventInfo *event_info = tmp->data; + + invoke_notifies (event_info->monitor, + event_info->event, + event_info->path); + + menu_monitor_unref (event_info->monitor); + event_info->monitor = NULL; + + g_free (event_info->path); + event_info->path = NULL; + + event_info->event = MENU_MONITOR_EVENT_INVALID; + + g_free (event_info); + + tmp = tmp->next; + } + + g_slist_free (events_to_emit); + + return FALSE; +} + +static void menu_monitor_queue_event(MenuMonitorEventInfo* event_info) +{ + pending_events = g_slist_append (pending_events, event_info); + + if (events_idle_handler == 0) + { + events_idle_handler = g_idle_add ((GSourceFunc) emit_events_in_idle, NULL); + } +} + +static inline char* get_registry_key(const char* path, gboolean is_directory) +{ + return g_strdup_printf ("%s:%s", + path, + is_directory ? "<dir>" : "<file>"); +} + +static gboolean monitor_callback (GFileMonitor* monitor, GFile* child, GFile* other_file, GFileMonitorEvent eflags, gpointer user_data) +{ + MenuMonitorEventInfo *event_info; + MenuMonitorEvent event; + MenuMonitor *menu_monitor = (MenuMonitor *) user_data; + + event = MENU_MONITOR_EVENT_INVALID; + switch (eflags) + { + case G_FILE_MONITOR_EVENT_CHANGED: + event = MENU_MONITOR_EVENT_CHANGED; + break; + case G_FILE_MONITOR_EVENT_CREATED: + event = MENU_MONITOR_EVENT_CREATED; + break; + case G_FILE_MONITOR_EVENT_DELETED: + event = MENU_MONITOR_EVENT_DELETED; + break; + default: + return TRUE; + } + + event_info = g_new0 (MenuMonitorEventInfo, 1); + + event_info->path = g_file_get_path (child); + event_info->event = event; + event_info->monitor = menu_monitor; + + menu_monitor_queue_event (event_info); + + return TRUE; +} + +static MenuMonitor* register_monitor(const char* path, gboolean is_directory) +{ + static gboolean initted = FALSE; + MenuMonitor *retval; + GFile *file; + + if (!initted) + { + /* This is the only place where we're using GObject and the app can't + * know we're using it, so we need to init the type system ourselves. */ + g_type_init (); + initted = TRUE; + } + + retval = g_new0 (MenuMonitor, 1); + + retval->path = g_strdup (path); + retval->refcount = 1; + retval->is_directory = is_directory != FALSE; + + file = g_file_new_for_path (retval->path); + + if (file == NULL) + { + menu_verbose ("Not adding monitor on '%s', failed to create GFile\n", + retval->path); + return retval; + } + + if (retval->is_directory) + retval->monitor = g_file_monitor_directory (file, G_FILE_MONITOR_NONE, + NULL, NULL); + else + retval->monitor = g_file_monitor_file (file, G_FILE_MONITOR_NONE, + NULL, NULL); + + g_object_unref (G_OBJECT (file)); + + if (retval->monitor == NULL) + { + menu_verbose ("Not adding monitor on '%s', failed to create monitor\n", + retval->path); + return retval; + } + + g_signal_connect (retval->monitor, "changed", + G_CALLBACK (monitor_callback), retval); + + return retval; +} + +static MenuMonitor* lookup_monitor(const char* path, gboolean is_directory) +{ + MenuMonitor *retval; + char *registry_key; + + retval = NULL; + + registry_key = get_registry_key (path, is_directory); + + if (monitors_registry == NULL) + { + monitors_registry = g_hash_table_new_full (g_str_hash, + g_str_equal, + g_free, + NULL); + } + else + { + retval = g_hash_table_lookup (monitors_registry, registry_key); + } + + if (retval == NULL) + { + retval = register_monitor (path, is_directory); + g_hash_table_insert (monitors_registry, registry_key, retval); + + return retval; + } + else + { + g_free (registry_key); + + return mate_menu_monitor_ref(retval); + } +} + +MenuMonitor* mate_menu_monitor_file_get(const char* path) +{ + g_return_val_if_fail(path != NULL, NULL); + + return lookup_monitor(path, FALSE); +} + +MenuMonitor* menu_get_directory_monitor(const char* path) +{ + g_return_val_if_fail (path != NULL, NULL); + + return lookup_monitor (path, TRUE); +} + +MenuMonitor* mate_menu_monitor_ref(MenuMonitor* monitor) +{ + g_return_val_if_fail(monitor != NULL, NULL); + g_return_val_if_fail(monitor->refcount > 0, NULL); + + monitor->refcount++; + + return monitor; +} + +static void menu_monitor_clear_pending_events(MenuMonitor* monitor) +{ + GSList *tmp; + + tmp = pending_events; + while (tmp != NULL) + { + MenuMonitorEventInfo *event_info = tmp->data; + GSList *next = tmp->next; + + if (event_info->monitor == monitor) + { + pending_events = g_slist_delete_link (pending_events, tmp); + + g_free (event_info->path); + event_info->path = NULL; + + event_info->monitor = NULL; + event_info->event = MENU_MONITOR_EVENT_INVALID; + + g_free (event_info); + } + + tmp = next; + } +} + +void menu_monitor_unref(MenuMonitor* monitor) +{ + char *registry_key; + + g_return_if_fail (monitor != NULL); + g_return_if_fail (monitor->refcount > 0); + + if (--monitor->refcount > 0) + return; + + registry_key = get_registry_key (monitor->path, monitor->is_directory); + g_hash_table_remove (monitors_registry, registry_key); + g_free (registry_key); + + if (g_hash_table_size (monitors_registry) == 0) + { + g_hash_table_destroy (monitors_registry); + monitors_registry = NULL; + } + + if (monitor->monitor) + { + g_file_monitor_cancel (monitor->monitor); + g_object_unref (monitor->monitor); + monitor->monitor = NULL; + } + + g_slist_foreach (monitor->notifies, (GFunc) mate_menu_monitor_notify_unref, NULL); + g_slist_free (monitor->notifies); + monitor->notifies = NULL; + + menu_monitor_clear_pending_events (monitor); + + g_free (monitor->path); + monitor->path = NULL; + + g_free (monitor); +} + +static MenuMonitorNotify* mate_menu_monitor_notify_ref(MenuMonitorNotify* notify) +{ + g_return_val_if_fail(notify != NULL, NULL); + g_return_val_if_fail(notify->refcount > 0, NULL); + + notify->refcount++; + + return notify; +} + +static void mate_menu_monitor_notify_unref(MenuMonitorNotify* notify) +{ + g_return_if_fail(notify != NULL); + g_return_if_fail(notify->refcount > 0); + + if (--notify->refcount > 0) + { + return; + } + + g_free(notify); +} + +void menu_monitor_add_notify(MenuMonitor* monitor, MenuMonitorNotifyFunc notify_func, gpointer user_data) +{ + MenuMonitorNotify* notify; + + g_return_if_fail(monitor != NULL); + g_return_if_fail(notify_func != NULL); + + GSList* tmp = monitor->notifies; + + while (tmp != NULL) + { + notify = tmp->data; + + if (notify->notify_func == notify_func && notify->user_data == user_data) + { + break; + } + + tmp = tmp->next; + } + + if (tmp == NULL) + { + notify = g_new0(MenuMonitorNotify, 1); + notify->notify_func = notify_func; + notify->user_data = user_data; + notify->refcount = 1; + + monitor->notifies = g_slist_append(monitor->notifies, notify); + } +} + +void mate_menu_monitor_notify_remove(MenuMonitor* monitor, MenuMonitorNotifyFunc notify_func, gpointer user_data) +{ + GSList* tmp = monitor->notifies; + + while (tmp != NULL) + { + MenuMonitorNotify* notify = tmp->data; + GSList* next = tmp->next; + + if (notify->notify_func == notify_func && notify->user_data == user_data) + { + notify->notify_func = NULL; + notify->user_data = NULL; + + mate_menu_monitor_notify_unref(notify); + + monitor->notifies = g_slist_delete_link(monitor->notifies, tmp); + } + + tmp = next; + } +} diff --git a/libmenu/menu-monitor.h b/libmenu/menu-monitor.h new file mode 100644 index 0000000..1dbf6ba --- /dev/null +++ b/libmenu/menu-monitor.h @@ -0,0 +1,70 @@ +/* + * Copyright (C) 2005 Red Hat, Inc. + * Copyright (C) 2011 Perberos + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __MENU_MONITOR_H__ +#define __MENU_MONITOR_H__ + +#include <glib.h> + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct MenuMonitor MenuMonitor; + +typedef enum { + MENU_MONITOR_EVENT_INVALID = 0, + MENU_MONITOR_EVENT_CREATED = 1, + MENU_MONITOR_EVENT_DELETED = 2, + MENU_MONITOR_EVENT_CHANGED = 3 +} MenuMonitorEvent; + +typedef void (*MenuMonitorNotifyFunc) (MenuMonitor* monitor, MenuMonitorEvent event, const char* path, gpointer user_data); + + +MenuMonitor* menu_get_file_monitor(const char* path); +MenuMonitor* menu_get_directory_monitor(const char* path); + +MenuMonitor* menu_monitor_ref(MenuMonitor* monitor); +void menu_monitor_unref(MenuMonitor* monitor); + +void menu_monitor_add_notify(MenuMonitor* monitor, MenuMonitorNotifyFunc notify_func, gpointer user_data); +void menu_monitor_remove_notify(MenuMonitor* monitor, MenuMonitorNotifyFunc notify_func, gpointer user_data); + + +/* Izquierda a derecha + */ + +#define mate_menu_monitor_file_get menu_get_file_monitor +#define mate_menu_monitor_directory_get menu_get_directory_monitor + +#define mate_menu_monitor_ref menu_monitor_ref +#define mate_menu_monitor_unref menu_monitor_unref + +#define mate_menu_monitor_notify_add menu_monitor_add_notify +#define mate_menu_monitor_notify_remove menu_monitor_remove_notify +#define mate_menu_monitor_notify_ref menu_monitor_notify_ref /* private */ +#define mate_menu_monitor_notify_unref menu_monitor_notify_unref /* private */ + +#ifdef __cplusplus +} +#endif + +#endif /* __MENU_MONITOR_H__ */ diff --git a/libmenu/menu-util.c b/libmenu/menu-util.c new file mode 100644 index 0000000..2f992b0 --- /dev/null +++ b/libmenu/menu-util.c @@ -0,0 +1,436 @@ +/* Random utility functions for menu code */ + +/* + * Copyright (C) 2003 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include <config.h> + +#include "menu-util.h" + +#include <stdio.h> +#include <stdarg.h> + + +#ifdef G_ENABLE_DEBUG + +static gboolean verbose = FALSE; +static gboolean initted = FALSE; + +static inline gboolean menu_verbose_enabled(void) +{ + if (!initted) + { + verbose = g_getenv("MENU_VERBOSE") != NULL; + initted = TRUE; + } + + return verbose; +} + +static int utf8_fputs(const char* str, FILE* f) +{ + char* l; + int ret; + + l = g_locale_from_utf8(str, -1, NULL, NULL, NULL); + + if (l == NULL) + { + ret = fputs(str, f); /* just print it anyway, better than nothing */ + } + else + { + ret = fputs(l, f); + } + + g_free(l); + + return ret; +} + +void menu_verbose(const char* format, ...) +{ + va_list args; + char* str; + + if (!menu_verbose_enabled()) + { + return; + } + + va_start(args, format); + str = g_strdup_vprintf(format, args); + va_end(args); + + utf8_fputs(str, stderr); + fflush(stderr); + + g_free(str); +} + +static void append_to_string(MenuLayoutNode* node, gboolean onelevel, int depth, GString* str); + +static void append_spaces(GString* str, int depth) +{ + while (depth > 0) + { + g_string_append_c(str, ' '); + --depth; + } +} + +static void append_children(MenuLayoutNode* node, int depth, GString* str) +{ + MenuLayoutNode* iter; + + iter = menu_layout_node_get_children(node); + + while (iter != NULL) + { + append_to_string(iter, FALSE, depth, str); + + iter = menu_layout_node_get_next(iter); + } +} + +static void append_simple_with_attr(MenuLayoutNode* node, int depth, const char* node_name, const char* attr_name, const char* attr_value, GString* str) +{ + const char* content; + + append_spaces(str, depth); + + if ((content = menu_layout_node_get_content(node))) + { + char* escaped; + + escaped = g_markup_escape_text(content, -1); + + if (attr_name && attr_value) + { + char* attr_escaped; + + attr_escaped = g_markup_escape_text(attr_value, -1); + + g_string_append_printf(str, "<%s %s=\"%s\">%s</%s>\n", node_name, attr_name, attr_escaped, escaped, node_name); + + g_free(attr_escaped); + } + else + { + g_string_append_printf(str, "<%s>%s</%s>\n", node_name, escaped, node_name); + } + + g_free(escaped); + } + else + { + if (attr_name && attr_value) + { + char* attr_escaped; + + attr_escaped = g_markup_escape_text(attr_value, -1); + + g_string_append_printf(str, "<%s %s=\"%s\"/>\n", node_name, attr_name, attr_escaped); + + g_free(attr_escaped); + } + else + { + g_string_append_printf(str, "<%s/>\n", node_name); + } + } +} + +static void append_layout(MenuLayoutNode* node, int depth, const char* node_name, MenuLayoutValues* layout_values, GString* str) +{ + const char* content; + + append_spaces(str, depth); + + if ((content = menu_layout_node_get_content(node))) + { + char* escaped; + + escaped = g_markup_escape_text(content, -1); + + g_string_append_printf(str, + "<%s show_empty=\"%s\" inline=\"%s\" inline_header=\"%s\"" + " inline_alias=\"%s\" inline_limit=\"%d\">%s</%s>\n", + node_name, + layout_values->show_empty ? "true" : "false", + layout_values->inline_menus ? "true" : "false", + layout_values->inline_header ? "true" : "false", + layout_values->inline_alias ? "true" : "false", + layout_values->inline_limit, + escaped, + node_name); + + g_free(escaped); + } + else + { + g_string_append_printf(str, + "<%s show_empty=\"%s\" inline=\"%s\" inline_header=\"%s\"" + " inline_alias=\"%s\" inline_limit=\"%d\"/>\n", + node_name, + layout_values->show_empty ? "true" : "false", + layout_values->inline_menus ? "true" : "false", + layout_values->inline_header ? "true" : "false", + layout_values->inline_alias ? "true" : "false", + layout_values->inline_limit); + } +} + +static void append_merge(MenuLayoutNode* node, int depth, const char* node_name, MenuLayoutMergeType merge_type, GString* str) +{ + const char* merge_type_str; + + merge_type_str = NULL; + + switch (merge_type) + { + case MENU_LAYOUT_MERGE_NONE: + merge_type_str = "none"; + break; + + case MENU_LAYOUT_MERGE_MENUS: + merge_type_str = "menus"; + break; + + case MENU_LAYOUT_MERGE_FILES: + merge_type_str = "files"; + break; + + case MENU_LAYOUT_MERGE_ALL: + merge_type_str = "all"; + break; + + default: + g_assert_not_reached(); + break; + } + + append_simple_with_attr(node, depth, node_name, "type", merge_type_str, str); +} + +static void append_simple(MenuLayoutNode* node, int depth, const char* node_name, GString* str) +{ + append_simple_with_attr(node, depth, node_name, NULL, NULL, str); +} + +static void append_start(MenuLayoutNode* node, int depth, const char* node_name, GString* str) +{ + append_spaces(str, depth); + + g_string_append_printf(str, "<%s>\n", node_name); +} + +static void append_end(MenuLayoutNode* node, int depth, const char* node_name, GString* str) +{ + append_spaces(str, depth); + + g_string_append_printf(str, "</%s>\n", node_name); +} + +static void append_container(MenuLayoutNode* node, gboolean onelevel, int depth, const char* node_name, GString* str) +{ + append_start(node, depth, node_name, str); + + if (!onelevel) + { + append_children(node, depth + 2, str); + append_end(node, depth, node_name, str); + } +} + +static void append_to_string(MenuLayoutNode* node, gboolean onelevel, int depth, GString* str) +{ + MenuLayoutValues layout_values; + + switch (menu_layout_node_get_type(node)) + { + case MENU_LAYOUT_NODE_ROOT: + if (!onelevel) + append_children(node, depth - 1, str); /* -1 to ignore depth of root */ + else + append_start(node, depth - 1, "Root", str); + break; + + case MENU_LAYOUT_NODE_PASSTHROUGH: + g_string_append(str, menu_layout_node_get_content(node)); + g_string_append_c(str, '\n'); + break; + + case MENU_LAYOUT_NODE_MENU: + append_container(node, onelevel, depth, "Menu", str); + break; + + case MENU_LAYOUT_NODE_APP_DIR: + append_simple(node, depth, "AppDir", str); + break; + + case MENU_LAYOUT_NODE_DEFAULT_APP_DIRS: + append_simple(node, depth, "DefaultAppDirs", str); + break; + + case MENU_LAYOUT_NODE_DIRECTORY_DIR: + append_simple(node, depth, "DirectoryDir", str); + break; + + case MENU_LAYOUT_NODE_DEFAULT_DIRECTORY_DIRS: + append_simple(node, depth, "DefaultDirectoryDirs", str); + break; + + case MENU_LAYOUT_NODE_DEFAULT_MERGE_DIRS: + append_simple(node, depth, "DefaultMergeDirs", str); + break; + + case MENU_LAYOUT_NODE_NAME: + append_simple(node, depth, "Name", str); + break; + + case MENU_LAYOUT_NODE_DIRECTORY: + append_simple(node, depth, "Directory", str); + break; + + case MENU_LAYOUT_NODE_ONLY_UNALLOCATED: + append_simple(node, depth, "OnlyUnallocated", str); + break; + + case MENU_LAYOUT_NODE_NOT_ONLY_UNALLOCATED: + append_simple(node, depth, "NotOnlyUnallocated", str); + break; + + case MENU_LAYOUT_NODE_INCLUDE: + append_container(node, onelevel, depth, "Include", str); + break; + + case MENU_LAYOUT_NODE_EXCLUDE: + append_container(node, onelevel, depth, "Exclude", str); + break; + + case MENU_LAYOUT_NODE_FILENAME: + append_simple(node, depth, "Filename", str); + break; + + case MENU_LAYOUT_NODE_CATEGORY: + append_simple(node, depth, "Category", str); + break; + + case MENU_LAYOUT_NODE_ALL: + append_simple(node, depth, "All", str); + break; + + case MENU_LAYOUT_NODE_AND: + append_container(node, onelevel, depth, "And", str); + break; + + case MENU_LAYOUT_NODE_OR: + append_container(node, onelevel, depth, "Or", str); + break; + + case MENU_LAYOUT_NODE_NOT: + append_container(node, onelevel, depth, "Not", str); + break; + + case MENU_LAYOUT_NODE_MERGE_FILE: + { + MenuMergeFileType type; + + type = menu_layout_node_merge_file_get_type(node); + + append_simple_with_attr(node, depth, "MergeFile", "type", type == MENU_MERGE_FILE_TYPE_PARENT ? "parent" : "path", str); + break; + } + + case MENU_LAYOUT_NODE_MERGE_DIR: + append_simple(node, depth, "MergeDir", str); + break; + + case MENU_LAYOUT_NODE_LEGACY_DIR: + append_simple_with_attr(node, depth, "LegacyDir", "prefix", menu_layout_node_legacy_dir_get_prefix (node), str); + break; + + case MENU_LAYOUT_NODE_KDE_LEGACY_DIRS: + append_simple(node, depth, "KDELegacyDirs", str); + break; + + case MENU_LAYOUT_NODE_MOVE: + append_container(node, onelevel, depth, "Move", str); + break; + + case MENU_LAYOUT_NODE_OLD: + append_simple(node, depth, "Old", str); + break; + + case MENU_LAYOUT_NODE_NEW: + append_simple(node, depth, "New", str); + break; + + case MENU_LAYOUT_NODE_DELETED: + append_simple(node, depth, "Deleted", str); + break; + + case MENU_LAYOUT_NODE_NOT_DELETED: + append_simple(node, depth, "NotDeleted", str); + break; + + case MENU_LAYOUT_NODE_LAYOUT: + append_container(node, onelevel, depth, "Layout", str); + break; + + case MENU_LAYOUT_NODE_DEFAULT_LAYOUT: + menu_layout_node_default_layout_get_values(node, &layout_values); + append_layout(node, depth, "DefaultLayout", &layout_values, str); + break; + + case MENU_LAYOUT_NODE_MENUNAME: + menu_layout_node_menuname_get_values(node, &layout_values); + append_layout(node, depth, "MenuName", &layout_values, str); + break; + + case MENU_LAYOUT_NODE_SEPARATOR: + append_simple(node, depth, "Name", str); + break; + + case MENU_LAYOUT_NODE_MERGE: + append_merge(node, depth, "Merge", menu_layout_node_merge_get_type(node), str); + break; + + default: + g_assert_not_reached(); + break; + } +} + +void menu_debug_print_layout(MenuLayoutNode* node, gboolean onelevel) +{ + if (menu_verbose_enabled()) + { + GString* str = g_string_new(NULL); + append_to_string(node, onelevel, 0, str); + + utf8_fputs(str->str, stderr); + fflush(stderr); + + g_string_free(str, TRUE); + } +} + +#endif /* G_ENABLE_DEBUG */ diff --git a/libmenu/menu-util.h b/libmenu/menu-util.h new file mode 100644 index 0000000..035f0e9 --- /dev/null +++ b/libmenu/menu-util.h @@ -0,0 +1,59 @@ +/* Random utility functions for menu code */ + +/* + * Copyright (C) 2003 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __MENU_UTIL_H__ +#define __MENU_UTIL_H__ + +#include <glib.h> + +#include "menu-layout.h" + +#ifdef __cplusplus +extern "C" { +#endif + + + +#ifdef G_ENABLE_DEBUG + + void menu_verbose(const char* format, ...) G_GNUC_PRINTF(1, 2); + + void menu_debug_print_layout(MenuLayoutNode* node, gboolean onelevel); + +#else /* !defined(G_ENABLE_DEBUG) */ + + #ifdef G_HAVE_ISO_VARARGS + #define menu_verbose(...) + #elif defined(G_HAVE_GNUC_VARARGS) + #define menu_verbose(format...) + #else + #error "Cannot disable verbose mode due to lack of varargs macros" + #endif + + #define menu_debug_print_layout(n, o) + +#endif /* G_ENABLE_DEBUG */ + +#ifdef __cplusplus +} +#endif + +#endif /* __MENU_UTIL_H__ */ diff --git a/m4/intltool.m4 b/m4/intltool.m4 new file mode 100644 index 0000000..839e855 --- /dev/null +++ b/m4/intltool.m4 @@ -0,0 +1,216 @@ +## intltool.m4 - Configure intltool for the target system. -*-Shell-script-*- +## Copyright (C) 2001 Eazel, Inc. +## Author: Maciej Stachowiak <[email protected]> +## Kenneth Christiansen <[email protected]> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +## +## As a special exception to the GNU General Public License, if you +## distribute this file as part of a program that contains a +## configuration script generated by Autoconf, you may include it under +## the same distribution terms that you use for the rest of that program. + +dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml]) +# serial 40 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 + +if test -n "$1"; then + AC_MSG_CHECKING([for intltool >= $1]) + + 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; }'` + ] + 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 + + INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -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) ; LC_ALL=C $(INTLTOOL_MERGE) -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) ; LC_ALL=C $(INTLTOOL_MERGE) -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) ; LC_ALL=C $(INTLTOOL_MERGE) -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) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< [$]@' + INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -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) ; LC_ALL=C $(INTLTOOL_MERGE) -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) ; LC_ALL=C $(INTLTOOL_MERGE) -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) ; LC_ALL=C $(INTLTOOL_MERGE) -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) ; LC_ALL=C $(INTLTOOL_MERGE) -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) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< [$]@' + INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -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) ; LC_ALL=C $(INTLTOOL_MERGE) -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) ; LC_ALL=C $(INTLTOOL_MERGE) -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) ; LC_ALL=C $(INTLTOOL_MERGE) -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) ; LC_ALL=C $(INTLTOOL_MERGE) -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) ; LC_ALL=C $(INTLTOOL_MERGE) -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) ; LC_ALL=C $(INTLTOOL_MERGE) -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], ...) + diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4 new file mode 100644 index 0000000..9000a05 --- /dev/null +++ b/m4/ltsugar.m4 @@ -0,0 +1,123 @@ +# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- +# +# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 6 ltsugar.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) + + +# lt_join(SEP, ARG1, [ARG2...]) +# ----------------------------- +# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their +# associated separator. +# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier +# versions in m4sugar had bugs. +m4_define([lt_join], +[m4_if([$#], [1], [], + [$#], [2], [[$2]], + [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) +m4_define([_lt_join], +[m4_if([$#$2], [2], [], + [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) + + +# lt_car(LIST) +# lt_cdr(LIST) +# ------------ +# Manipulate m4 lists. +# These macros are necessary as long as will still need to support +# Autoconf-2.59 which quotes differently. +m4_define([lt_car], [[$1]]) +m4_define([lt_cdr], +[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], + [$#], 1, [], + [m4_dquote(m4_shift($@))])]) +m4_define([lt_unquote], $1) + + +# lt_append(MACRO-NAME, STRING, [SEPARATOR]) +# ------------------------------------------ +# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. +# Note that neither SEPARATOR nor STRING are expanded; they are appended +# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). +# No SEPARATOR is output if MACRO-NAME was previously undefined (different +# than defined and empty). +# +# This macro is needed until we can rely on Autoconf 2.62, since earlier +# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. +m4_define([lt_append], +[m4_define([$1], + m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) + + + +# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) +# ---------------------------------------------------------- +# Produce a SEP delimited list of all paired combinations of elements of +# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list +# has the form PREFIXmINFIXSUFFIXn. +# Needed until we can rely on m4_combine added in Autoconf 2.62. +m4_define([lt_combine], +[m4_if(m4_eval([$# > 3]), [1], + [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl +[[m4_foreach([_Lt_prefix], [$2], + [m4_foreach([_Lt_suffix], + ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, + [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) + + +# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) +# ----------------------------------------------------------------------- +# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited +# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. +m4_define([lt_if_append_uniq], +[m4_ifdef([$1], + [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], + [lt_append([$1], [$2], [$3])$4], + [$5])], + [lt_append([$1], [$2], [$3])$4])]) + + +# lt_dict_add(DICT, KEY, VALUE) +# ----------------------------- +m4_define([lt_dict_add], +[m4_define([$1($2)], [$3])]) + + +# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) +# -------------------------------------------- +m4_define([lt_dict_add_subkey], +[m4_define([$1($2:$3)], [$4])]) + + +# lt_dict_fetch(DICT, KEY, [SUBKEY]) +# ---------------------------------- +m4_define([lt_dict_fetch], +[m4_ifval([$3], + m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), + m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) + + +# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) +# ----------------------------------------------------------------- +m4_define([lt_if_dict_fetch], +[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], + [$5], + [$6])]) + + +# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) +# -------------------------------------------------------------- +m4_define([lt_dict_filter], +[m4_if([$5], [], [], + [lt_join(m4_quote(m4_default([$4], [[, ]])), + lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), + [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl +]) diff --git a/m4/python.m4 b/m4/python.m4 new file mode 100644 index 0000000..deb3269 --- /dev/null +++ b/m4/python.m4 @@ -0,0 +1,86 @@ +dnl a macro to check for ability to create python extensions +dnl AM_CHECK_PYTHON_HEADERS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE]) +dnl function also defines PYTHON_INCLUDES +AC_DEFUN([AM_CHECK_PYTHON_HEADERS], +[AC_REQUIRE([AM_PATH_PYTHON]) + +AC_SUBST(PYTHON_INCLUDES) +AC_SUBST(PYTHON_LIBS) +AC_SUBST(PYTHON_EMBED_LIBS) +AC_SUBST(PYTHON_LDFLAGS) +AC_SUBST(PYTHON_CC) + +AC_MSG_CHECKING(for headers required to compile python extensions) +dnl deduce PYTHON_INCLUDES +py_prefix=`$PYTHON -c "import sys; print sys.prefix"` +py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"` +if test -x "$PYTHON-config"; then + PYTHON_INCLUDES=`$PYTHON-config --includes 2>/dev/null` +else + PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}" + if test "$py_prefix" != "$py_exec_prefix"; then + PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}" + fi +fi +dnl check if the headers exist: +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES" +AC_TRY_CPP([#include <Python.h>],dnl +[AC_MSG_RESULT(found) + +AC_MSG_CHECKING(for python libraries) + + +dnl Check whether python was compiled as shared library +link_pymodules_libpython=false; +py_enable_shared=`$PYTHON -c "from distutils.sysconfig import get_config_var; print repr(get_config_var('Py_ENABLE_SHARED'))"` +if test $py_enable_shared == 1 ; then + if test x`uname -s` != xDarwin; then + PYTHON_LDFLAGS="-no-undefined" + link_pymodules_libpython=true; + fi +fi + +dnl use distutils to get some python configuration variables.. +PYTHON_CC=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_config_var('CC')"` +PYTHON_LIB_DEPS=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_config_var('SYSLIBS'), sysconfig.get_config_var('SHLIBS')"` +PYTHON_LIBDIR=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_config_var('LIBDIR')"` +PYTHON_LIBPL=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_config_var('LIBPL')"` + +save_CC="$CC" +save_LIBS="$LIBS" + +PYTHON_EMBED_LIBS="-L${PYTHON_LIBDIR} ${PYTHON_LIB_DEPS} -lpython${PYTHON_VERSION}" + +CC="$PYTHON_CC" +LIBS="$LIBS $PYTHON_EMBED_LIBS" +AC_TRY_LINK_FUNC(Py_Initialize, dnl + [ + LIBS="$save_LIBS"; + if $link_pymodules_libpython; then + PYTHON_LIBS="$PYTHON_EMBED_LIBS"; + fi + AC_MSG_RESULT([$PYTHON_EMBED_LIBS]); + $1], dnl +[ + + PYTHON_EMBED_LIBS="-L${PYTHON_LIBPL} ${PYTHON_LIB_DEPS} -lpython${PYTHON_VERSION}" + + LIBS="$save_LIBS $PYTHON_EMBED_LIBS"; + AC_TRY_LINK_FUNC(Py_Initialize, dnl + [ + LIBS="$save_LIBS"; + if $link_pymodules_libpython; then + PYTHON_LIBS="$PYTHON_EMBED_LIBS"; + fi + AC_MSG_RESULT([$PYTHON_EMBED_LIBS]); + $1], dnl + AC_MSG_RESULT(not found); $2) +]) +CC="$save_CC" + +$1],dnl +[AC_MSG_RESULT(not found) +$2]) +CPPFLAGS="$save_CPPFLAGS" +]) @@ -0,0 +1,376 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. + +scriptversion=2009-04-28.21; # UTC + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, +# 2008, 2009 Free Software Foundation, Inc. +# Originally by Fran,cois Pinard <[email protected]>, 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 + +run=: +sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' +sed_minuso='s/.* -o \([^ ]*\).*/\1/p' + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +msg="missing on your system" + +case $1 in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi + ;; + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + autom4te touch the output file, or create a stub one + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and +\`g' are ignored when checking the name. + +Send bug reports to <[email protected]>." + 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 + +# normalize program name to check for. +program=`echo "$1" | sed ' + s/^gnu-//; t + s/^gnu//; t + s/^g//; t'` + +# Now exit if we have it, but it failed. Also exit now if we +# don't have it and --version was passed (most likely to detect +# the program). This is about non-GNU programs, so use $1 not +# $program. +case $1 in + lex*|yacc*) + # Not GNU programs, they don't have --version. + ;; + + tar*) + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + elif test "x$2" = "x--version" || test "x$2" = "x--help"; then + exit 1 + fi + ;; + + *) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + elif test "x$2" = "x--version" || test "x$2" = "x--help"; then + # Could not run --version or --help. This is probably someone + # running `$TOOL --version' or `$TOOL --help' to check whether + # $TOOL exists and not knowing $TOOL uses missing. + exit 1 + fi + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case $program in + aclocal*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case $f in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te*) + echo 1>&2 "\ +WARNING: \`$1' is needed, but is $msg. + You might have modified some files without having the + proper tools for further handling them. + You can get \`$1' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison*|yacc*) + echo 1>&2 "\ +WARNING: \`$1' $msg. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if test $# -ne 1; then + eval LASTARG="\${$#}" + case $LASTARG in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if test -f "$SRCFILE"; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if test -f "$SRCFILE"; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if test ! -f y.tab.h; then + echo >y.tab.h + fi + if test ! -f y.tab.c; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex*|flex*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if test $# -ne 1; then + eval LASTARG="\${$#}" + case $LASTARG in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if test -f "$SRCFILE"; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if test ! -f lex.yy.c; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit $? + fi + ;; + + makeinfo*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + # The file to touch is that specified with -o ... + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` + if test -z "$file"; then + # ... or it is the one specified with @setfilename ... + infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n ' + /^@setfilename/{ + s/.* \([^ ]*\) *$/\1/ + p + q + }' $infile` + # ... or it is derived from the source name (dir/f.texi becomes f.info) + test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info + fi + # If the file does not exist, the user really needs makeinfo; + # let's fail without touching anything. + test -f $file || exit 1 + touch $file + ;; + + tar*) + shift + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case $firstarg in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case $firstarg in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and is $msg. + You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequisites for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/mkinstalldirs b/mkinstalldirs new file mode 100755 index 0000000..4191a45 --- /dev/null +++ b/mkinstalldirs @@ -0,0 +1,162 @@ +#! /bin/sh +# mkinstalldirs --- make directory hierarchy + +scriptversion=2009-04-28.21; # UTC + +# Original author: Noah Friedman <[email protected]> +# Created: 1993-05-16 +# Public domain. +# +# This file is maintained in Automake, please report +# bugs to <[email protected]> or send patches to +# <[email protected]>. + +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 <[email protected]>." + +# 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/LINGUAS b/po/LINGUAS new file mode 100644 index 0000000..8ffe8e6 --- /dev/null +++ b/po/LINGUAS @@ -0,0 +1,100 @@ +af +an +ar +as +ast +be +be@latin +bg +bn_IN +bn +br +ca +ca@valencia +crh +cs +cy +da +de +dv +dz +el +en_CA +en_GB +en@shaw +eo +es +et +eu +fa +fi +fr +fur +fy +ga +gl +gn +gu +gv +ha +he +hi +hr +hu +hy +id +ig +io +is +it +ja +ka +kk +kn +ko +ku +ky +lt +lv +mai +mg +mk +ml +mn +mr +ms +nb +nds +ne +nl +nn +oc +or +pa +pl +ps +pt_BR +pt +ro +ru +rw +si +sk +sl +sq +sr +sr@latin +sv +ta +te +th +tr +ug +uk +uz@cyrillic +vi +xh +yo +zh_CN +zh_HK +zh_TW diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 0000000..e989d1e --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,28 @@ +# List of source files containing translatable strings. +# Please keep this file sorted alphabetically. +desktop-directories/mate-audio-video.directory.in +desktop-directories/mate-development.directory.in +desktop-directories/mate-education.directory.in +desktop-directories/mate-game.directory.in +desktop-directories/mate-graphics.directory.in +desktop-directories/mate-hardware.directory.in +desktop-directories/mate-internet-and-network.directory.in +desktop-directories/mate-look-and-feel.directory.in +desktop-directories/mate-network.directory.in +desktop-directories/mate-office.directory.in +desktop-directories/mate-personal.directory.in +desktop-directories/mate-settings-system.directory.in +desktop-directories/mate-settings.directory.in +desktop-directories/mate-system.directory.in +desktop-directories/mate-system-tools.directory.in +desktop-directories/mate-utility-accessibility.directory.in +desktop-directories/mate-utility.directory.in +desktop-directories/mate-menu-applications.directory.in +desktop-directories/mate-menu-system.directory.in +desktop-directories/mate-other.directory.in +# simple menu was removed +#simple-editor/matemenu-simple-editor.desktop.in +#[type: gettext/glade]simple-editor/matemenu-simple-editor.ui +#simple-editor/MateMenuSimpleEditor/main.py +#simple-editor/MateMenuSimpleEditor/maindialog.py +#simple-editor/MateMenuSimpleEditor/menufilewriter.py diff --git a/po/POTFILES.skip b/po/POTFILES.skip new file mode 100644 index 0000000..0185faf --- /dev/null +++ b/po/POTFILES.skip @@ -0,0 +1,3 @@ +# List of source files containing translatable strings that should be skipped. +# Please keep this file sorted alphabetically. +util/test-menu-spec.c diff --git a/po/af.po b/po/af.po new file mode 100644 index 0000000..d508efb --- /dev/null +++ b/po/af.po @@ -0,0 +1,258 @@ +# Afrikaans translation of mate-menus +# This file is distributed under the same license as the mate-menus package. +# F Wolff <[email protected]>, 2008 +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-22 00:23+0200\n" +"PO-Revision-Date: 2008-09-15 20:46+0200\n" +"Last-Translator: F Wolff <[email protected]>\n" +"Language-Team: [email protected]\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: VirTaal 0.1\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Multimediakieslys" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Klank & video" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programmering" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Gereedskap vir sagtewareontwikkeling" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Opvoeding" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Speletjies" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Speletjies en vermaak" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafika" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Grafika-toepassings" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Hardeware" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Instellings vir verskeie hardewaretoestelle" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet en netwerk" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Netwerkverwante instellings" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Voorkoms en gedrag" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Instellings wat die werkskerm se voorkoms en gedrag beheer" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programme vir Internettoegang soos web en e-pos" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Kantoor" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Kantoortoepassings" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Persoonlik" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Persoonlike instellings" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Administrasie" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Wysig instellings stelselwyd (affekteer alle gebruikers)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Persoonlike voorkeure" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Voorkeure" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Stelsel" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Stelselinstellings" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Stelselgereedskap" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Stelselopstelling en monitering" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Universele toegang" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Verstelling van universele toegang" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Toebehore" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Werkskermtoebehore" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Toepassings" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Persoonlike voorkeure en administrasie-instellings" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Toepassings wat nie in ander kategorieë pas nie" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Ander" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Kieslysredigeerder" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "Redigeer kieslyste" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "_Toepassings:" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "_Verstekwaardes" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "_Kieslyste:" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Naam" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Wys" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Kan nie tuisgids vind nie: nie aangedui in /etc/passwd nie een geen waarde " +"vir $HOME in die omgewing nie" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Kieslyslêer" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr "" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "" + +#~ msgid "Universal access related preferences" +#~ msgstr "Voorkeure aangaande universele toegang" + +#~ msgid "Personal preferences and settings" +#~ msgstr "Persoonlike voorkeure en instellings" diff --git a/po/an.po b/po/an.po new file mode 100644 index 0000000..ccdf461 --- /dev/null +++ b/po/an.po @@ -0,0 +1,211 @@ +# Aragonese translations mate-menus. +# Copyright (C) 2010 Mate Foundation +# This file is distributed under the same license as the PACKAGE package. +# Daniel Martinez <[email protected]>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus.HEAD.an\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-" +"menus&component=general\n" +"POT-Creation-Date: 2010-09-15 06:57+0000\n" +"PO-Revision-Date: 2010-04-24 02:30+0200\n" +"Last-Translator: Daniel Martinez <[email protected]>\n" +"Language-Team: Aragonés <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Menú de programas multimedia" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Vidio y soniu" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programacion" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Ainas ta lo desarrollo de software" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Educacion" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Chuegos" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Chuegos y distraccions" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Graficos" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Aplicacions graficas" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Hardware" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Propiedaz ta varios dispositivos de hardware" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet y rete" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Propiedatz arredol d'o rete" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Visualizacion y comportamiento" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Propiedaz que controlan l'apariencia y o comportamiento d'o escritorio" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programas ta l'acceso a internet, tals como web y e-mail" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Oficina" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Aplicacions d'oficina" + +#. Translators: this is Personal as in "Personal settings" +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal" +msgstr "Presonal" + +#: ../desktop-directories/Personal.directory.in.h:3 +msgid "Personal settings" +msgstr "Peferencias presonals" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Almenistracion" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Cambear as preferencias globals d'o sistema (ta toz os usuarios)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Preferencias presonals " + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Preferencias" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Sistema" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Preferencias d'o sistema" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Ainas d'o sistema" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Configuracion y monitorizacion d'o sistema" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Acceso universal" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Preferencias d'acceso universal" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Accesorios" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Accesorios d'o escritorio" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Aplicacions" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Preferencias presonals y opcions d'almenistracion" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Aplicacions que no dentran en denguna atra categoria" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Atras" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Editor d'o menu" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Editar menus" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Aplicacions:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Predeterminaus" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menus:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Editor simple d'o menu %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Nome" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Amostrar" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"No s'ha puesto trobar lo direutorio presonal: no ye estableciu en o /etc/" +"passwd y no bi ha dengun valor en a variable d'entorno $HOME" + diff --git a/po/ar.po b/po/ar.po new file mode 100644 index 0000000..accbbec --- /dev/null +++ b/po/ar.po @@ -0,0 +1,270 @@ +# translation of mate-menus.HEAD.po to Arabic +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) 2005 THE PACKAGE'S COPYRIGHT HOLDER, 2005. +# Djihed Afifi <[email protected]>, 2006. +# Khaled Hosny <[email protected]>, 2006, 2007, 2008, 2009. +# Anas Husseini <[email protected]>, 2007. +msgid "" +msgstr "" +"Project-Id-Version: mate-menus.HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-08-20 21:13+0300\n" +"PO-Revision-Date: 2009-08-20 21:17+0300\n" +"Last-Translator: Khaled Hosny <[email protected]>\n" +"Language-Team: Arabic <[email protected]>\n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"X-Generator: Virtaal 0.4.0\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "قائمة الوسائط المتعدّدة" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "صوت و فيديو" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "برمجة" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "أدوات لتطوير البرامج" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "تعليمي" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "ألعاب" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "الألعاب و التسلية" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "رسوميات" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "تطبيقات الرّسوميات" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "عتاد" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "إعدادات للعديد من أجهزة العتاد" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "الإنترنت والشبكة" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "الإعدادات المتعلّقة بالشبكة" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "المظهر" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "إعدادات تتحكّم في مظهر وسلوك سطح المكتب" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "إنترنت" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "برامج للنّفاذ إلى الإنترنت مثل الوب و البريد الإلكتروني" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "مكتب" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "التطبيقات المكتبيّة" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "شخصي" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "الإعدادات الشخصيّة" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "إدارة" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "غيّر إعدادات النظام العامة (يؤثّر على جميع المستخدمين)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "التفضيلات الشخصيّة" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "تفضيلات" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "نظام" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "إعدادات النظام" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "أدوات النّظام" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "إعداد و مراقبة النّظام" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "الإتاحة" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "إعدادات الإتاحة" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "ملحقات" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "ملحقات سطح المكتب" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "تطبيقات" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "التفضيلات الشخصيّة و إعدادات الإدارة" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "تطبيقات لا تندرج تحت الفئات الأخرى" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "أخرى" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "محرر القوائم" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "حرّر القوائم" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "ال_تطبيقات:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "ال_مبدئيات" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "ال_قوائم:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "محرر القوائم البسيط %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "الاسم" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "اعرض" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"لا يمكن العثور على الدليل المنزلي: غير مضبوط في /etc/passwd ولا قيمة لمتغيّر " +"البيئة $HOME" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "ملف القائمة" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "ارصد تغيرات القوائم" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "اشمل المدخلات المستبعدة" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "اشمل مدخلات NoDisplay=true" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "رقم ملف سطح مكتب غير صحيح" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[اسم ملف غير صالح]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <مستبعدة>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== تغيرت القائمة، تتم إعادة التحميل ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "شجرة القوائم خالية" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- اختبر تَنْفِيذ جنوم لمُوَاصِفَات قائمة سطح المكتب" diff --git a/po/as.po b/po/as.po new file mode 100644 index 0000000..01e8cf6 --- /dev/null +++ b/po/as.po @@ -0,0 +1,277 @@ +# translation of as.po to Assamese +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Amitakhya Phukan <[email protected]>, 2007, 2009. +msgid "" +msgstr "" +"Project-Id-Version: as\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug." +"cgi?product=mate-menus&component=general\n" +"POT-Creation-Date: 2009-06-21 17:35+0000\n" +"PO-Revision-Date: 2009-09-21 09:40+0530\n" +"Last-Translator: \n" +"Language-Team: Assamese <>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=(n!=1)\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "মাল্টি-মিডিয়া তালিকা" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "শব্দ ও ভিডিও" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "প্ৰোগ্ৰামিং" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "চালনাজ্ঞান উন্নয়নৰ সামগ্ৰী" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "শিক্ষাবিষয়ক বস্তু" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "খেলা" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "খেলা ও বিনোদন" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "গ্ৰাফিক্স" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "চাত্ৰাঙ্কিত অনুপ্ৰয়োগ" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "যান্ত্ৰিক সামগ্ৰী" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "বিবিধ যন্ত্ৰৰ সামগ্ৰীৰ সংক্ৰান্ত বৈশিষ্ট্য" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "ইন্টাৰনেট ও নেটৱৰ্ক" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "নেটৱৰ্ক সংক্ৰান্ত বৈশিষ্ট্য" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "চেহেৰা ছবি" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "ডেস্কটপৰ চেহেৰা ও আচৰণ নিয়ন্ত্ৰণকাৰী বৈশিষ্ট্য" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "ইন্টাৰনেট" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "ইন্টাৰনেট ব্যবহাৰৰ অনুপ্ৰয়োগ যেনে ওৱেব আৰু ই-মেইল অনুপ্ৰয়োগ" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "কাৰ্যালয়" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "কাৰ্যালয়ৰ অনুপ্ৰয়োগ" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "ব্যক্তিগত" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "ব্যক্তিগত বৈশিষ্ট্য" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "প্ৰশাসনিক বৈশিষ্ট্য" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "" +"সম্পূৰ্ণ ব্যৱস্থাপ্ৰণালী ব্যাপী বৈশিষ্ট্য পৰিবৰ্তন কৰক (সকলো ব্যৱহাৰকৰোঁতা প্ৰভাবিত হ'ব)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "ব্যক্তিগত পছন্দ" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "পছন্দ" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "ব্যৱস্থাপ্ৰণালী" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "ব্যৱস্থাপ্ৰণালী সংক্ৰান্ত বৈশিষ্ট্য" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "ব্যৱস্থাপ্ৰণালীৰ বিভিন্ন সৰঞ্জাম" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "ব্যৱস্থাপ্ৰণালীৰ বৈশিষ্ট্যৰ বিন্যাস এবং নিৰীক্ষণ" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "সাৰ্বজনীন ব্যবহাৰাধিকাৰ" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "সাৰ্বজনীন ব্যবহাৰাধিকাৰ সংক্ৰান্ত সম্পৰ্কিত বৈশিষ্ট্য" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "আনুষঙ্গিক" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "ডেস্কটপৰ ব্যৱহৃত আনুষঙ্গিক বস্তু" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "অনুপ্ৰয়োগ" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "ব্যক্তিগত পছন্দ ও প্ৰশাসনিক বৈশিষ্ট্য" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "অন্যান্য শ্ৰেণীত অন্তৰ্গত নকৰা অনুপ্ৰয়োগ" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "অন্যান্য" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "তালিকা সম্পাদক" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "তালিকা সম্পাদন কৰক" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "অনুপ্ৰয়োগ :(_A)" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "অবিকল্পিত মান(_D)" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "তালিকা:(_M)" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +#| msgid "Menu Editor" +msgid "Simple Menu Editor %s" +msgstr "%s তালিকা সম্পাদক" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "নাম" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "দেখুৱাওক" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"ব্যক্তিগত পঞ্জিকাৰ সন।ধান পোৱা ন'গ'ল: /etc/passwd নথিপত্ৰত উল্লেখ নাই আৰু পৰিবেশৰ " +"$HOME চলকৰ মান অনুপস্থিত" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "তালিকাৰ নথিপত্ৰ" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "তালিকা পৰিবৰ্তণৰ নিৰীক্ষণ ব্যৱস্থা" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "<Exclude> কৰা নিবেশ অন্তৰ্ভুক্ত কৰা হ'ব" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "NoDisplay=true নিবেশসমূহ অন্তৰ্ভুক্ত কৰা হ'ব" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "ডেস্কটপ নথিপত্ৰৰ ID বৈধ নহয়" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[অবৈধ নথিপত্ৰৰ নাম]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== তালিকা পৰিবৰ্তিত হৈছে, পুনঃ তুলি লোৱা হৈছে ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "তালিকা-ট্ৰি বৰ্তমানে ৰিক্ত" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- MATE'ৰ ডেস্কটপ তালিকাৰ বৈশিষ্ট্যাবলী প্ৰয়োগৰ পৰীক্ষা কৰক" + +#~ msgid "Universal access related preferences" +#~ msgstr "সাৰ্বজনীন ব্যৱহাৰধিকাৰ সামগ্ৰী সম্পৰ্কিত পছন্দ" + +#~ msgid "Personal preferences and settings" +#~ msgstr "ব্যক্তিগত পছন্দ এবং বৈশিষ্ট্যাবলী" + diff --git a/po/ast.po b/po/ast.po new file mode 100644 index 0000000..2ea0fc3 --- /dev/null +++ b/po/ast.po @@ -0,0 +1,265 @@ +# translation of mate-menus.po to Asturian +# Asturian translation for mate-menus +# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 +# This file is distributed under the same license as the mate-menus package. +# +# FIRST AUTHOR <EMAIL@ADDRESS>, 2007. +# Xose S. Puente <[email protected]>, 2007. +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-23 15:37+0200\n" +"PO-Revision-Date: 2008-10-06 09:03+0000\n" +"Last-Translator: Astur <[email protected]>\n" +"Language-Team: Asturian <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2008-10-22 08:36+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Menú multimedia" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Soníu y Vídeu" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programación" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Ferramientes pa desendolcu de programes" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Educación" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Xuegos" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Xuegos y entretenimientu" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Gráficos" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Aplicaciones gráfiques" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Hardware" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Opciones pa dellos preseos de hardware" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet y rede" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Opciones rellacionaes col trabayu en rede" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Aldéu" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Propiedaes que remanen l'aldéu y el comportamientu del escritoriu" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programes p'accesu a Internet como web y corréu" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Oficina" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Aplicaciones d'Oficina" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Personal" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Preferencies personales" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Alministración" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "" +"Fai cambeos nes preferencies globales del sistema (afeuta a tolos usuarios)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Preferencies personales" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Preferencies" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Sistema" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Preferencies del sistema" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Ferramientes del Sistema" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Configuración y monitorización del sistema" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Accesu universal" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Preferencies del accesu universal" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Accesorios" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Accesorios d'Escritoriu" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Aplicaciones" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Preferencies personales y parámetros d'alministración" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Aplicaciones que nun encaxen n'otres estayes" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Otres" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Editor del Menú" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "Remanar Menús" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "_Aplicaciones:" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "_Predeterminaos" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "_Menús:" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Nome" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Amosar" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Nun pudo atopase la carpeta home: nun ta establecía en /etc/passwd y nun hai " +"valor pa $HOME nel ambiente" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Ficheru de menú" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Monitor pa cambeos nel menú" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Incluyir entraes <Exclude>" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Incluyir entraes Nodisplay=true" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "ID de ficheru d'escritoriu non válidu" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Nome de ficheru Inválidu]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <escluyíes>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Cambió'l menú, recargando ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "L'árbol del menú ta ermu" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "" +"- prebe la implementación MATE de la Especificación del Menú d'Escriyoriu" diff --git a/po/be.po b/po/be.po new file mode 100644 index 0000000..951bdd7 --- /dev/null +++ b/po/be.po @@ -0,0 +1,269 @@ +# Беларускі пераклад mate-menus. +# Copyright (C) 2005 THE mate-menus'S COPYRIGHT HOLDER +# This file is distributed under the same license as the mate-menus package. +# Ales Nyakhaychyk <[email protected]>, 2005, 2007 +# Ihar Hrachyshka <[email protected]>, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus mate-2-12\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-02 03:41+0100\n" +"PO-Revision-Date: 2007-06-13 23:52+0300\n" +"Last-Translator: Alexander Nyakhaychyk <[email protected]>\n" +"Language-Team: Belarusian <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/Accessibility.directory.in.h:1 +#: ../desktop-directories/Settings-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Унівэрсальны доступ" + +#: ../desktop-directories/Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Настаўленьні унівэрсальнага доступу" + +#: ../desktop-directories/Accessories.directory.in.h:1 +msgid "Accessories" +msgstr "Інструмэнты" + +#: ../desktop-directories/Accessories.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Настольныя інструмэнты" + +#: ../desktop-directories/Applications.directory.in.h:1 +msgid "Applications" +msgstr "Дастасаваньні" + +#: ../desktop-directories/Desktop.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Прыватныя перавагі і адміністрацыйныя настаўленьні" + +#: ../desktop-directories/Desktop.directory.in.h:2 +#: ../desktop-directories/System.directory.in.h:1 +msgid "System" +msgstr "Сыстэма" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Праграмаваньне" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Інструмэнты для распрацоўкі праграм" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Адукацыя" + +#: ../desktop-directories/Games.directory.in.h:1 +msgid "Games" +msgstr "Гульні" + +#: ../desktop-directories/Games.directory.in.h:2 +msgid "Games and amusements" +msgstr "Гульні і забавы" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Графіка" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Графічныя дастасаваньні" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Апаратура" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Настаўленьні для апаратуры" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Інтэрнэт і сетка" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Настаўленьні сеткі" + +#: ../desktop-directories/Internet.directory.in.h:1 +msgid "Internet" +msgstr "Інтэрнэт" + +#: ../desktop-directories/Internet.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Праграмы для доступу ў Інтэрнэт (Сеціва, пошта і інш.)" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Вонкавы выгляд" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Настаўленьні, якія кантралююць вонавы выгляд і паводзіны асяродзьдзя" + +#: ../desktop-directories/Multimedia.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Мультымэдыя" + +#: ../desktop-directories/Multimedia.directory.in.h:2 +msgid "Sound & Video" +msgstr "Аўдыё і відэа" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Офіс" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Офісныя дастасаваньні" + +#: ../desktop-directories/Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Дастасаваньні, якія ня трапілі ў іншыя катэгорыі" + +#: ../desktop-directories/Other.directory.in.h:2 +msgid "Other" +msgstr "Іншыя" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Пэрсанальныя" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Пэрсанальныя настаўленьні" + +#: ../desktop-directories/Preferences.directory.in.h:1 +msgid "Personal preferences" +msgstr "Асабістыя перавагі" + +#: ../desktop-directories/Preferences.directory.in.h:2 +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Перавагі" + +#: ../desktop-directories/Settings-Accessibility.directory.in.h:2 +msgid "Universal access related preferences" +msgstr "Перавагі, якія датычацца унівэрсальнага доступу" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences and settings" +msgstr "Пэрсанальныя перавагі і настаўленьні" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Сыстэмныя настаўленьні" + +#: ../desktop-directories/System-Settings.directory.in.h:1 +msgid "Administration" +msgstr "Адміністраваньне" + +#: ../desktop-directories/System-Settings.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Зьмены сыстэмных настаўленьняў (датычацца ўсіх карыстальнікаў" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Сыстэмныя інструмэнты" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Наладка сыстэмы і маніторынг" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Рэдактар мэню" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "Дазваляе рэдагаваць мэню" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "Д_астасаваньні:" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "Пра_двызначаныя значэньні" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "_Мэню:" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123 +msgid "Name" +msgstr "Назва" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115 +msgid "Show" +msgstr "Паказваць" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Немагчыма знайсьці сваю тэчку: яна ня вызначаная ў /etc/passwd, а таксама " +"зьменная асяродзьдзя $HOME нявызначаная" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Файл мэню" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "ФАЙЛ_МЭНЮ" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Сачыць за зьменамі мэню" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Уключыць <Выключан>ыя пункты" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Уключыць NoDisplay=true элемэнты" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Кепскі ID desktop-файла" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Кепская назва файла]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <выключаны>" + +#: ../util/test-menu-spec.c:164 +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Мэню зьмянілася; перачытваецца... ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Мэню пустое" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- праверыць рэалізацыю спэцыфікацыі мэню стальца ў MATE" diff --git a/po/[email protected] b/po/[email protected] new file mode 100644 index 0000000..9d04209 --- /dev/null +++ b/po/[email protected] @@ -0,0 +1,275 @@ +# Biełaruski pierakład mate-menus. +# Copyright (C) 2005 THE mate-menus'S COPYRIGHT HOLDER +# This file is distributed under the same license as the mate-menus package. +# Alaksandar Navicki <[email protected]>, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-06 00:40+0300\n" +"PO-Revision-Date: 2007-05-06 00:41+0300\n" +"Last-Translator: Ihar Hrachyshka <[email protected]>\n" +"Language-Team: Belarusian Latin <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Belarsian Latin\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: ../desktop-directories/Accessibility.directory.in.h:1 +#: ../desktop-directories/Settings-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Universalny dostup" + +#: ../desktop-directories/Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Nałady ŭniversalnaha dostupu" + +#: ../desktop-directories/Accessories.directory.in.h:1 +msgid "Accessories" +msgstr "Aksesuary" + +#: ../desktop-directories/Accessories.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Aksesuary stała" + +#: ../desktop-directories/Applications.directory.in.h:1 +msgid "Applications" +msgstr "Aplikacyi" + +#: ../desktop-directories/Desktop.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Asabistyja i administracyjnyja nałady" + +#: ../desktop-directories/Desktop.directory.in.h:2 +#: ../desktop-directories/System.directory.in.h:1 +msgid "System" +msgstr "Systema" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Prahramavańnie" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Pryłady prahramavańnia" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Adukacyja" + +#: ../desktop-directories/Games.directory.in.h:1 +msgid "Games" +msgstr "Hulni" + +#: ../desktop-directories/Games.directory.in.h:2 +msgid "Games and amusements" +msgstr "Hulni j zabavy" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Hrafika" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Hrafičnyja aplikacyi" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Aparatura" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Niekatoryja aparaturnyja nałady" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet i sietka" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Sietkavyja nałady" + +#: ../desktop-directories/Internet.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Internet.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Prahramy dla internetu" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Vyhlad" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Nałady vyhladu j pavodzinaŭ" + +#: ../desktop-directories/Multimedia.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Multymedyi" + +#: ../desktop-directories/Multimedia.directory.in.h:2 +msgid "Sound & Video" +msgstr "Aŭdyjo j videa" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Ofis" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Ofisnyja prahramy" + +#: ../desktop-directories/Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Prahramy, jakija nie ŭvajšli ŭ inšyja kategoryi" + +#: ../desktop-directories/Other.directory.in.h:2 +msgid "Other" +msgstr "Inšyja" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Asabistaje" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Asabistyja nałady" + +#: ../desktop-directories/Preferences.directory.in.h:1 +msgid "Personal preferences" +msgstr "Asabistyja nałady" + +#: ../desktop-directories/Preferences.directory.in.h:2 +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Nałady" + +#: ../desktop-directories/Settings-Accessibility.directory.in.h:2 +msgid "Universal access related preferences" +msgstr "Nałady dla ŭniversalnaha dostupu" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences and settings" +msgstr "Asabistyja nałady" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Systemnyja nałady" + +#: ../desktop-directories/System-Settings.directory.in.h:1 +msgid "Administration" +msgstr "Administravańnie" + +#: ../desktop-directories/System-Settings.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Źmiani systemnyja nałady (upłyvaje na ŭsich karystalnikaŭ)" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Systemnaje pryładździe" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Manitorynh i kanfihuracyja systemy" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Redaktar menu" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "Madyfikuje menu" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "_Aplikacyi:" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "_Zmoŭčanaje" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "_Menu:" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123 +msgid "Name" +msgstr "Nazva" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115 +msgid "Show" +msgstr "Pakažy" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44 +msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment" +msgstr "Niemahčyma znajści chatniaj tečki: jana nie akreślenaja ŭ /etc/passwd, a vartaść źmiennaj asiarodździa $HOME nia vyznačanaja" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Fajł menu" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "FAJŁ_MENU" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Adsočka źmienaŭ menu" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Uklučna z <Vyklučanymi> elementami" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Uklučna ź nie pakazanymi elementami (NoDisplay=true)" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Niapravilny ID fajłu stała" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Niapravilnaja nazva fajłu]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <vyklučanaje>" + +#: ../util/test-menu-spec.c:164 +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Menu źmianiłasia, zahružajecca znoŭ ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 +#: ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Dreva menu pustoje" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "– testuje zaimplementavanuju ŭ MATE Specyfikacyju menu stała" + +#~ msgid "Accessibility" +#~ msgstr "Dastupnaść" +#~ msgid "Accessibility Settings" +#~ msgstr "Nałady dastupnaści" +#~ msgid "Desktop" +#~ msgstr "Stoł" + diff --git a/po/bg.po b/po/bg.po new file mode 100644 index 0000000..93025f0 --- /dev/null +++ b/po/bg.po @@ -0,0 +1,272 @@ +# Bulgarian translation of mate-menus po-file. +# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation +# This file is distributed under the same license as the mate-menus package. +# Vladimir "Kaladan" Petkov <[email protected]>, 2004, 2005, 2007. +# Rostislav "zbrox" Raykov <[email protected]>, 2005. +# Alexander Shopov <[email protected]>, 2008, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus master\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-08-14 07:47+0300\n" +"PO-Revision-Date: 2009-08-14 07:47+0300\n" +"Last-Translator: Alexander Shopov <[email protected]>\n" +"Language-Team: Bulgarian <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Меню за мултимедия" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Звук и видео" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Разработка" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Инструменти за разработка на софтуер" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Обучение" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Игри" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Игри и забавления" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Графика" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Програми за работа с графика" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Хардуер" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Настройки за много хардуерни устройства" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Интернет и мрежа" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Настройки за мрежата" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Външен изглед" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Настройки за външния изглед и поведение на работния плот" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Интернет" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Програми за работа в Интернет, например е-поща и браузър" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Офис" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Офисни програми" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Лични" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Лични настройки" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Администрация на системата" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "" +"Промяна на глобалните настройки на системата (ще се отрази на всички " +"потребители)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Лични предпочитания" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Настройки" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Система" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Системни настройки" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Системни инструменти" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Следене и настройване на системата" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Универсален достъп" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Настройки на универсалния достъп" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Помощни програми" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Набор от помощни програми" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Програми" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Лични предпочитания и административни настройки" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Програми, които не принадлежат към друга категория" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Други" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Редактор на менюта" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Редакция на менютата" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Програми:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Стандартни" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Менюта:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Лесен редактор на менюта %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Име" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Показване" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Домашната папка не може да бъде намерена: не е зададена в /etc/passwd и няма " +"стойност за $HOME в средата" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Файл за меню" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "ФАЙЛ_ЗА_МЕНЮ" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Наблюдение за промени в менюто" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Включване на елементите отбелязани за <пропускане>" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Включване на елементите отбелязани за <непоказване>" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Невалиден идентификатор на файла .desktop" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[невалидно име на файл]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <пропускане>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Менюто е било променено — презарежда се ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Дървовидната структура на менюто е празна." + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "" +"— тестване на реализацията на спецификацията за менюта към работния плот на " +"MATE" diff --git a/po/bn.po b/po/bn.po new file mode 100644 index 0000000..b135766 --- /dev/null +++ b/po/bn.po @@ -0,0 +1,301 @@ +# Bengali translation of mate-menus +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Mahay Alam Khan <[email protected]>, 2005. +# Samia Niamatullah <[email protected]>, 2005. +# Sadia Afroz <[email protected]>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: bn\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-" +"menus&component=general\n" +"POT-Creation-Date: 2009-06-21 17:35+0000\n" +"PO-Revision-Date: 2010-01-24 22:55+0600\n" +"Last-Translator: Sadia Afroz <[email protected]>\n" +"Language-Team: Bengali <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "মাল্টিমিডিয়া মেনু" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "শব্দ ও ভিডিও" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "প্রোগ্রামিং" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "সফটওয়্যার ডেভেলপমেন্টের যন্ত্রপাতি" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "শিক্ষা" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "খেলা" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "খেলা ও বিনোদন" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "গ্রাফিক্স" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "গ্রাফিক্স অ্যাপ্লিকেশন" + +# Translated by sadia +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "হার্ডওয়্যার" + +# Translated by sadia +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "কয়েকটি হার্ডওয়্যার ডিভাইসের সেটিংস " + +# Translated by sadia +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "ইন্টারনেট ও নেটওয়ার্ক" + +# Translated by sadia +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "নেটওয়ার্ক সম্পর্কিত সেটিংস " + +# Translated by sadia +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "দেখুন ও উপভোগ করুন" + +# Translated by sadia +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "ডেক্সটপের অবয়ব ও আচরণ নিয়ন্ত্রণের সেটিংস" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "ইন্টারনেট" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "ইন্টারনেট ব্যবহারের প্রোগ্রাম, যেমন ওয়েব বা ইমেইল" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "অফিস" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "অফিস অ্যাপলিকেশন" + +# Translated by sadia +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "ব্যক্তিগত" + +# Translated by sadia +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "ব্যক্তিগত সেটিংস" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "অ্যাডমিনস্ট্রেশন" + +# Translated by sadia +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "সিস্টেমব্যাপী সেটিংস পরিবর্তন করা হবে (সব ব্যবহারকারীর জন্য প্রযোজ্য)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "ব্যক্তিগত পছন্দতালিকা" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "পছন্দতালিকা" + +# Translated by sadia +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "সিস্টেম " + +# Translated by sadia +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "সিস্টেম সেটিংস " + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "সিস্টেম টুল" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "সিস্টেম কনফিগারেশন এবং মনিটরিং" + +# Translated by sadia +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "সর্বজনীন প্রবেশাধিকার" + +# Translated by sadia +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "সর্বজনীন প্রবেশাধিকার সেটিংস" + +# আনুসাঙ্গিক - mak +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "আনুসাঙ্গিক" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "ডেস্কটপের আনুসাঙ্গিক অ্যাপ্লিকেশন" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "অ্যাপলিকেশন" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "ব্যক্তিগত পছন্দতালিকা এবং অ্যাডমিনস্ট্রেশন বৈশিষ্ট্যাবলী" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "অ্যাপ্লিকেশন যেগুলো অন্য কোন শ্রেণীভূক্ত নয়" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "অন্যান্য" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "মেনু সম্পাদক" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "মেনু সম্পাদন" + +# the (_)underscore can be used with the English "A", but it's not possible to use with bangla অ্যা cause user canot press the Alt+অ্যা simultaneously. - mak +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "অ্যাপ্লিকেশন (_অ):" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "ডিফল্ট (_ড)" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "মেনু (_ম):" + +# Translated by sadia +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "সাধারণ মেনু সম্পাদক %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "নাম" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "প্রদর্শন করো" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"home ডিরেক্টরি পাওয়া যায়নি: /etc/passwd তে সেট করা নেই এবং পরিবেশে $HOME এর " +"কোন মান নেই" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "মেনু ফাইল" + +# sam: variable? +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "মেনু পরিবর্তনের মনিটর" + +# <Exclude> = variable? +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "বাদ দেয়া <Exclude> অংশগুলো অন্তর্ভুক্ত করো" + +# <Exclude> = variable? +# +# Translated by sadia +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Include NoDisplay=true entries" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "অবৈধ ডেস্কটপ ফাইল আইডি" + +# ত্রুটিযুক্ত ফাইলের নাম +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Invalid Filename]" + +# <বাদ দেওয়া হয়েছে> +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== মেনু পরিবর্তিত হয়েছে, পুনরায় লোড করা হচ্ছে ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "মেনু ট্রী খালি" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- MATE দ্বারা ডেস্কটপ মেনু বৈশিষ্ট্যাবলীর প্রয়োগ পরীক্ষা করো" + +# Easy to access by physically handicapped persons. Translation should be done regarding this fact. - mak +#~ msgid "Accessibility" +#~ msgstr "অভিগম্যতা" + +#~ msgid "Desktop" +#~ msgstr "ডেস্কটপ" + +#~ msgid "Accessibility related preferences" +#~ msgstr "অভিগম্যতা সম্পর্কীয় পছন্দতালিকা" diff --git a/po/bn_IN.po b/po/bn_IN.po new file mode 100644 index 0000000..029ce9a --- /dev/null +++ b/po/bn_IN.po @@ -0,0 +1,280 @@ +# translation of bn_IN.po to Bengali INDIA +# Bengali India translation of mate-menus +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# Mahay Alam Khan <[email protected]>, 2005. +# Samia Niamatullah <[email protected]>, 2005. +# Runa Bhattacharjee <[email protected]>, 2009. +msgid "" +msgstr "" +"Project-Id-Version: bn_IN\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n" +"POT-Creation-Date: 2009-06-21 17:35+0000\n" +"PO-Revision-Date: 2009-08-28 12:29+0530\n" +"Last-Translator: Runa Bhattacharjee <[email protected]>\n" +"Language-Team: Bengali INDIA <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "মাল্টি-মিডিয়া মেনু" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "শব্দ ও ভিডিও" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "প্রোগ্রামিং" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "সফ্টওয়্যার ডিভেলপমেন্টের সামগ্রী" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "শিক্ষাবিষয়ক বস্তু" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "খেলা" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "খেলা ও বিনোদন" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "গ্রাফিক্স" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "গ্রাফিক্স অ্যাপ্লিকেশন" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "হার্ডওয়্যার" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "বিবিধ হার্ডওয়্যার ডিভাইস সংক্রান্ত বৈশিষ্ট্য" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "ইন্টারনেট ও নেটওয়ার্ক" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "নেটওয়ার্ক সংক্রান্ত বৈশিষ্ট্য" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "চেহারা ছবি" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "ডেস্কটপের চেহারা ও আচরণ নিয়ন্ত্রণকারী বৈশিষ্ট্য" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "ইন্টারনেট" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "ইন্টারনেট ব্যবহারের প্রোগ্রাম যেমন ওয়েব ও ই-মেইল প্রোগ্রাম" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "অফিস" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "অফিস অ্যাপলিকেশন" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "ব্যক্তিগত" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "ব্যক্তিগত বৈশিষ্ট্য" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "প্রশাসনিক বৈশিষ্ট্য" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "সম্পূর্ণ সিস্টেমব্যাপী বৈশিষ্ট্য পরিবর্তন করুন (সকল ব্যবহারকারী প্রভাবিত হবেন)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "ব্যক্তিগত পছন্দ" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "পছন্দ" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "সিস্টেম" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "সিস্টেম সংক্রান্ত বৈশিষ্ট্য" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "সিস্টেমের বিভিন্ন সরঞ্জাম" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "সিস্টেমের বৈশিষ্ট্য কনফিগারেশন এবং নিরীক্ষণ" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "সার্বজনীন ব্যবহারাধিকার" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "সার্বজনীন ব্যবহারাধিকার সংক্রান্ত সম্পর্কিত বৈশিষ্ট্য" + +# আনুসাঙ্গিক - mak +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "আনুষঙ্গিক" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "ডেস্কটপের ব্যবহৃত আনুষঙ্গিক বস্তু" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "অ্যাপলিকেশন" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "ব্যক্তিগত পছন্দ ও প্রশাসনিক বৈশিষ্ট্য" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "অন্যান্য শ্রেণীর মধ্যে অন্তর্গত না করা অ্যাপ্লিকেশন" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "অন্যান্য" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "মেনু সম্পাদক" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "মেনু সম্পাদন করুন" + +# the (_)underscore can be used with the English "A", but it's not possible to use with bangla অ্যা cause user canot press the Alt+অ্যা simultaneously. - mak +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "অ্যাপ্লিকেশন :(_A)" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "ডিফল্ট মান(_D)" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "মেনু:(_M)" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +#| msgid "Menu Editor" +msgid "Simple Menu Editor %s" +msgstr "সহজ মেনু সম্পাদন ব্যবস্থা, সংস্করণ %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "নাম" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "প্রদর্শন করা হবে" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"ব্যক্তিগত (home) ডিরেক্টরি পাওয়া যায়নি: /etc/passwd ফাইলে উল্লিখিত হয়নি ও " +"পরিবেশের $HOME ভেরিয়েবলের মান অনুপস্থিত" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "মেনুর ফাইল" + +# sam: variable? +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "মেনু পরিবর্তন নিরীক্ষণ ব্যবস্থা" + +# <Exclude> = variable? +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "<Exclude> করা এন্ট্রিগুলি অন্তর্ভুক্ত করা হবে" + +# <Exclude> = variable? +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "NoDisplay=true এন্ট্রিগুলি অন্তর্ভুক্ত করা হবে" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "ডেস্কটপ ফাইলের ID বৈধ নয়" + +# ত্রুটিযুক্ত ফাইলের নাম +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[অবৈধ ফাইলের নাম]" + +# <বাদ দেওয়া হয়েছে> +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== মেনু পরিবর্তিত হয়েছে, পুনরায় লোড করা হচ্ছে ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "মেনু-ট্রি বর্তমানে ফাঁকা" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- MATE'র ডেস্কটপ মেনুর বৈশিষ্ট্যাবলী প্রয়োগ পরীক্ষা করুন" + diff --git a/po/br.po b/po/br.po new file mode 100644 index 0000000..525041d --- /dev/null +++ b/po/br.po @@ -0,0 +1,266 @@ +# Breton translation of mate-menus. +# Copyright (C) 2004-2005 Free Software Foundation, Inc. +# This file is distributed under the same license as the mate-menu package. +# +# Jérémy Ar Floc'h <[email protected]>, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menu 2.14\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n" +"POT-Creation-Date: 2009-07-29 05:10+0000\n" +"PO-Revision-Date: 2009-07-29 07:38+0100\n" +"Last-Translator: Denis <[email protected]>\n" +"Language-Team: MATE Breton Team <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2009-05-12 09:20+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Lañser al liesvedia" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Son ha video" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Gouleviñ" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Binvioù da ziorren ar meziantoù" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Deskadurezh" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "C'hoarioù" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "C'hoarioù ha diduelloù" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Skeudennoù" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Arloadoù skeudennaouiñ" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Periant" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Arventennoù evit meur a drobarzhell" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Kenrouedad ha Rouedad" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Arventennoù ar rouedad" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Neuz ha Feson" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Arventennoù a reol neuz ar burev hag e emzalc'h" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Kenrouedad" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Goulevioù evit tizhout ar c'henrouedad, posteliñ ha furcherezh" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Bureveg" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Arloadoù burev all" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Personel" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Arventennoù personel" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Merañ" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Kemmañ dre vras arventennoù ar reizhiad (evit an holl arveriaded)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Gwellvezioù hiniennel" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Gwellvezioù" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Reizhiad" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Arventennoù ar reizhiad" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Binvioù reizhiad" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Neuziadur hag eveshaerezh ar reizhiad" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Haezhiñ hollvedel" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Dibarzhioù haezhiñ hollvedel" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Mavegoù" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Mavegoù ar burev" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Arloadoù" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Dibarzhioù hiniennel ha arventennoù merañ" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Arloadoù n'int ket stag ouzh ur rummad all ebet" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Arloadoù all" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Embanner lañserioù" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Embanner al lañserioù" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Arloadoù :" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Dre ziouer" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Lañserioù :" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Embanner lañserioù eeun %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Anv" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Diskouez" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment" +msgstr "Dibosupl eo kavout ar renkell Kêr : n'eo ket e-barzh /etc/passwd ha n'eus road ebet evit $HOME en endro" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Restr lañser" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "RESTR_LAÑSER" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Eveshaat kemmoù ar lañserioù" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Enlakaat enankadoù forc'het gant <Exclude>" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Enlakaat an enankadoù NoDisplay=true" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Didalvoudek eo hennad (ID) ar restr desktop" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Anv restr dididalvoudek]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <forc'het>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Kemmet al lañser, oc'h adkargañ ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 +#: ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Goullo eo gwezenn al lañser" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- o testiñ emplementadur MATE el lañseroù dibarek .desktop" + diff --git a/po/ca.po b/po/ca.po new file mode 100644 index 0000000..9f6c944 --- /dev/null +++ b/po/ca.po @@ -0,0 +1,272 @@ +# Catalan translation of MATE Menus. +# Copyright © 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +# This file is distributed under the same license as the mate-menus package. +# Jordi Mallach <[email protected]>, 2004, 2005, 2006, 2007. +# Gil Forcada <[email protected]>, 2008, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus 2.12\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-17 08:22+0100\n" +"PO-Revision-Date: 2010-04-02 17:41+0200\n" +"Last-Translator: Gil Forcada <[email protected]>\n" +"Language-Team: Catalan <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Menú multimèdia" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "So i vídeo" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programació" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Eines per a desenvolupar programari" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Educació" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Jocs" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Jocs i entreteniments" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Gràfics" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Aplicacions de gràfics" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Maquinari" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Paràmetres per a diferents dispositius de maquinari" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet i xarxa" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Paràmetres de xarxa" + +# Termcat (josep) +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Aspecte i comportament" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Paràmetres que controlen l'aspecte i el comportament de l'escriptori" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programes per a accedir a Internet, com la web i el correu" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Ofimàtica" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Aplicacions ofimàtiques" + +#. Translators: this is Personal as in "Personal settings" +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal" +msgstr "Personal" + +#: ../desktop-directories/Personal.directory.in.h:3 +msgid "Personal settings" +msgstr "Paràmetres personals" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Administració" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Canvia els paràmetres del sistema (afecta tots els usuaris)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Preferències personals" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Preferències" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Sistema" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Paràmetres del sistema" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Eines del sistema" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Configuració i supervisió del sistema" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Accés universal" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Paràmetres d'accés universal" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Accessoris" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Accessoris de l'escriptori" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Aplicacions" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Preferències personals i paràmetres d'administració" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Aplicacions que no encaixaven en d'altres categories" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Altres" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Editor del menú" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Edita els menús" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Aplicacions:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Predeterminats" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menús:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Editor del menú (versió %s)" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Nom" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Mostra" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"No s'ha trobat el directori d'inici: no està establert al fitxer /etc/passwd " +"i no hi ha cap valor per a $HOME a l'entorn" + +#~ msgid "Menu file" +#~ msgstr "Fitxer de menú" + +#~ msgid "MENU_FILE" +#~ msgstr "FITXER_MENU" + +#~ msgid "Monitor for menu changes" +#~ msgstr "Fes un seguiment dels canvis del menú" + +#~ msgid "Include <Exclude>d entries" +#~ msgstr "Inclou entrades excloses amb <Exclude>" + +#~ msgid "Include NoDisplay=true entries" +#~ msgstr "Inclou entrades amb NoDisplay=true" + +#~ msgid "Invalid desktop file ID" +#~ msgstr "L'ID del fitxer desktop és invàlid" + +#~ msgid "[Invalid Filename]" +#~ msgstr "[Nom de fitxer invàlid]" + +#~ msgid " <excluded>" +#~ msgstr " <exclòs>" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "==== Menu changed, reloading ====\n" +#~ "\n" +#~ "\n" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "=== El menú ha canviat, s'està tornant a carregar ===\n" +#~ "\n" + +#~ msgid "Menu tree is empty" +#~ msgstr "L'arbre del menú és buit" + +#~ msgid "- test MATE's implementation of the Desktop Menu Specification" +#~ msgstr "" +#~ "- proveu la implementació del MATE de l'especificació del menú " +#~ "d'escriptori" + +#~ msgid "Universal access related preferences" +#~ msgstr "Preferències relacionades amb l'accés universal" + +#~ msgid "Personal preferences and settings" +#~ msgstr "Preferències i paràmetres personals" + +#~ msgid "Accessibility" +#~ msgstr "Accessibilitat" + +#~ msgid "Accessibility Settings" +#~ msgstr "Paràmetres d'accessibilitat" + +#~ msgid "Desktop" +#~ msgstr "Escriptori" diff --git a/po/[email protected] b/po/[email protected] new file mode 100644 index 0000000..27db3e0 --- /dev/null +++ b/po/[email protected] @@ -0,0 +1,272 @@ +# Catalan translation of MATE Menus. +# Copyright © 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +# This file is distributed under the same license as the mate-menus package. +# Jordi Mallach <[email protected]>, 2004, 2005, 2006, 2007. +# Gil Forcada <[email protected]>, 2008, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus 2.12\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-04-21 23:31+0200\n" +"PO-Revision-Date: 2010-04-02 17:41+0200\n" +"Last-Translator: Gil Forcada <[email protected]>\n" +"Language-Team: Catalan <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Menú multimèdia" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "So i vídeo" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programació" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Eines per a desenvolupar programari" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Educació" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Jocs" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Jocs i entreteniments" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Gràfics" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Aplicacions de gràfics" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Maquinari" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Paràmetres per a diferents dispositius de maquinari" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet i xarxa" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Paràmetres de xarxa" + +# Termcat (josep) +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Aspecte i comportament" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Paràmetres que controlen l'aspecte i el comportament de l'escriptori" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programes per a accedir a Internet, com la web i el correu" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Ofimàtica" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Aplicacions ofimàtiques" + +#. Translators: this is Personal as in "Personal settings" +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal" +msgstr "Personal" + +#: ../desktop-directories/Personal.directory.in.h:3 +msgid "Personal settings" +msgstr "Paràmetres personals" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Administració" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Canvia els paràmetres del sistema (afecta tots els usuaris)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Preferències personals" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Preferències" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Sistema" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Paràmetres del sistema" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Eines del sistema" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Configuració i supervisió del sistema" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Accés universal" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Paràmetres d'accés universal" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Accessoris" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Accessoris de l'escriptori" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Aplicacions" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Preferències personals i paràmetres d'administració" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Aplicacions que no encaixaven en d'altres categories" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Altres" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Editor del menú" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Edita els menús" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Aplicacions:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Predeterminats" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menús:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Editor del menú (versió %s)" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Nom" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Mostra" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"No s'ha trobat el directori d'inici: no està establit al fitxer /etc/passwd " +"i no hi ha cap valor per a $HOME a l'entorn" + +#~ msgid "Menu file" +#~ msgstr "Fitxer de menú" + +#~ msgid "MENU_FILE" +#~ msgstr "FITXER_MENU" + +#~ msgid "Monitor for menu changes" +#~ msgstr "Fes un seguiment dels canvis del menú" + +#~ msgid "Include <Exclude>d entries" +#~ msgstr "Inclou entrades excloses amb <Exclude>" + +#~ msgid "Include NoDisplay=true entries" +#~ msgstr "Inclou entrades amb NoDisplay=true" + +#~ msgid "Invalid desktop file ID" +#~ msgstr "L'ID del fitxer desktop és invàlid" + +#~ msgid "[Invalid Filename]" +#~ msgstr "[Nom de fitxer invàlid]" + +#~ msgid " <excluded>" +#~ msgstr " <exclòs>" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "==== Menu changed, reloading ====\n" +#~ "\n" +#~ "\n" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "=== El menú ha canviat, s'està tornant a carregar ===\n" +#~ "\n" + +#~ msgid "Menu tree is empty" +#~ msgstr "L'arbre del menú és buit" + +#~ msgid "- test MATE's implementation of the Desktop Menu Specification" +#~ msgstr "" +#~ "- proveu la implementació del MATE de l'especificació del menú " +#~ "d'escriptori" + +#~ msgid "Universal access related preferences" +#~ msgstr "Preferències relacionades amb l'accés universal" + +#~ msgid "Personal preferences and settings" +#~ msgstr "Preferències i paràmetres personals" + +#~ msgid "Accessibility" +#~ msgstr "Accessibilitat" + +#~ msgid "Accessibility Settings" +#~ msgstr "Paràmetres d'accessibilitat" + +#~ msgid "Desktop" +#~ msgstr "Escriptori" diff --git a/po/crh.po b/po/crh.po new file mode 100644 index 0000000..5047004 --- /dev/null +++ b/po/crh.po @@ -0,0 +1,271 @@ +# translation of mate-menus to Qırımtatarca +# This file is distributed under the same license as the mate-menus package. +# +# Reşat SABIQ <[email protected]>, 2009, 2010. +msgid "" +msgstr "" +"Project-Id-Version: mate-menus TRUNK\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-10-21 00:24-0500\n" +"PO-Revision-Date: 2010-03-30 00:46-0500\n" +"Last-Translator: Reşat SABIQ <[email protected]>\n" +"Language-Team: QIRIMTATARCA (Qırım Türkçesi) <tilde-birlik-tercime@lists." +"sourceforge.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Çoqlu-vasat menüsi" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Davuş & Video" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programlav" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Yazılım inkişafı içün aletler" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Maarif" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Oyunlar" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Oyunlar ve eglenceler" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafikler" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Grafikiy uyğulamalar" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Donanım" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Bir qaç donanım cihazı içün tesbitler" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "İnternet ve Ağ" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Ağ-alâqalı tesbitler" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Körüniş ve Seziliş" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Masaüstü körüniş ve sezilişini muraqabe etken tesbitler" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "İnternet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "İnternet irişimi içün programlar, kezici ve e-poçta kibi" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Ofis" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Ofis Uyğulamaları" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Şahsiy" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Şahsiy ayarlar" + +# tüylü +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Memuriyet" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "" +"Bütün-sistem tesbitlerini deñiştir (qullanıcılarnıñ episine tesir eter)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Şahsiy tercihler" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Tercihler" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Sistem" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Sistem tesbitleri" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Sistem Aletleri" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Sistem ayarlaması ve közetimi" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Alemiy İrişim" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Universal İrişim Tesbitleri" + +# tüylü +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Aksessuarlar" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Masaüstü donantıları" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Uyğulamalar" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Şahsiy tercihler ve idare tesbitleri" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Diger ulamlarğa yaraşmağan uyğulamalar" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Diger" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Menü Muarriri" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Menülerni Tarir Et" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Uyğulamalar:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Ög-belgilemeler" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menüler:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Basit Menü Muarriri %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "İsim" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Köster" + +# tüylü +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Ev fihristini tapamayım: /etc/passwd içinde tesbit etilgen degil ve çevrede " +"$HOME içün bir qıymet yoq" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Menü dosyesi" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Menü deñişmeleri içün közet" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Müstesna (<Exclude>) etilgen kirdilerni kirset" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "NoDisplay=true kirdilerini kirset" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Keçersiz masaüstü dosye kimligi" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Keçersiz Dosye-adı]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Menü deñişti, kene yüklene ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Menü teregi boştır" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- Masaüstü Menü Belirtiminiñ MATE tarafından edasını sına" diff --git a/po/cs.po b/po/cs.po new file mode 100644 index 0000000..5c60d5a --- /dev/null +++ b/po/cs.po @@ -0,0 +1,269 @@ +# Czech translation of mate-menus. +# Copyright (C) 2004, 2005, 2007, 2008, 2009 the author(s) of mate-menus. +# Copyright (C) 2004, 2005 Miloslav Trmac <[email protected]>. +# This file is distributed under the same license as the mate-menus package. +# Miloslav Trmac <[email protected]>, 2004, 2005. +# Petr Tomeš <[email protected]>, 2006. +# Jakub Friedl <[email protected]>, 2007. +# Petr Kovar <[email protected]>, 2007, 2009. +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-21 04:22+0200\n" +"PO-Revision-Date: 2009-09-21 04:17+0200\n" +"Last-Translator: Petr Kovar <[email protected]>\n" +"Language-Team: Czech <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Nabídka multimédií" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Zvuk a video" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programování" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Nástroje na vývoj softwaru" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Vzdělávání" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Hry" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Hry a zábava" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafika" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Aplikace pro grafiku" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Hardware" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Nastavení různých hardwarových zařízení" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet a síť" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Nastavení související se sítí" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Vzhled a chování" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Nastavení ovládající vzhled a chování pracovního prostředí" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programy pro přístup k Internetu, například WWW a e-mail" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Kancelář" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Kancelářské aplikace" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Osobní" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Osobní nastavení" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Správa" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Změnit nastavení pro celý systém (ovlivní všechny uživatele)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Osobní volby" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Volby" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Systém" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Systémová nastavení" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Systémové nástroje" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Nastavení a sledování systému" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Zpřístupnění" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Nastavení zpřístupnění" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Příslušenství" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Příslušenství prostředí pracovní plochy" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Aplikace" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Osobní volby a nastavení správy" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Aplikace nepatřící do jiných kategorií" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Ostatní" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Editor nabídek" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Upravit nabídky" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Aplikace:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "Vý_chozí" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "Na_bídky:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Jednoduchý editor nabídek %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Název" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Zobrazit" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Nelze najít domovský adresář: nenastaveno v /etc/passwd a žádná hodnota " +"$HOME v prostředí" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Soubor nabídky" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "SOUBOR_NABÍDKY" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Sleduje změny nabídky" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Zahrne položky \"<Exclude>\"" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Zahrne položky s \"NoDisplay=true\"" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Neplatné ID souboru desktop" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Neplatný název souboru]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Nabídka změněna, načítá se znovu ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Strom nabídky je prázdný" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- otestuje implementaci \"Desktop Menu Specification\" v MATE" diff --git a/po/cy.po b/po/cy.po new file mode 100644 index 0000000..cbfa097 --- /dev/null +++ b/po/cy.po @@ -0,0 +1,231 @@ +# MATE Menus in Welsh. +# +# This file is distributed under the same license as the mate-menus package. +# Dafydd Harries <[email protected]>, 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-03-02 06:52+0100\n" +"PO-Revision-Date: 2006-03-02 12:05-0000\n" +"Last-Translator: Rhys Jones <[email protected]>\n" +"Language-Team: Welsh <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/Accessibility.directory.in.h:1 +#: ../desktop-directories/Settings-Accessibility.directory.in.h:1 +msgid "Accessibility" +msgstr "Hygyrchedd" + +#: ../desktop-directories/Accessibility.directory.in.h:2 +msgid "Accessibility Settings" +msgstr "Gosodiadau Hygyrchedd" + +#: ../desktop-directories/Accessories.directory.in.h:1 +msgid "Accessories" +msgstr "Ategolion" + +#: ../desktop-directories/Accessories.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Ategolion penbwrdd" + +#: ../desktop-directories/Applications.directory.in.h:1 +msgid "Applications" +msgstr "Rhaglenni" + +#: ../desktop-directories/Desktop.directory.in.h:1 +msgid "Desktop" +msgstr "Penbwrdd" + +#: ../desktop-directories/Desktop.directory.in.h:2 +msgid "Personal preferences and administration settings" +msgstr "Hoffterau personol a gosodiadau gweinyddol" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Rhaglennu" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Offer ar gyfer datblygu meddalwedd" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Addysg" + +#: ../desktop-directories/Games.directory.in.h:1 +msgid "Games" +msgstr "Gemau" + +#: ../desktop-directories/Games.directory.in.h:2 +msgid "Games and amusements" +msgstr "Gemau a difyrrwch" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Graffeg" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Rhaglennu graffeg" + +#: ../desktop-directories/Internet.directory.in.h:1 +msgid "Internet" +msgstr "Rhyngrwyd" + +#: ../desktop-directories/Internet.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Rhaglenni ar gyfer mynediad Rhyngrwyd megis y we ac e-bost" + +#: ../desktop-directories/Multimedia.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Dewislen amlgyfrwng" + +#: ../desktop-directories/Multimedia.directory.in.h:2 +msgid "Sound & Video" +msgstr "Sain a Fideo" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Swyddfa" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Rhaglenni Swyddfa" + +#: ../desktop-directories/Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Rhaglenni nad ydynt yn ffitio yng nghategorïau eraill" + +#: ../desktop-directories/Other.directory.in.h:2 +msgid "Other" +msgstr "Eraill" + +#: ../desktop-directories/Preferences.directory.in.h:1 +msgid "Personal preferences" +msgstr "Hoffterau personol" + +#: ../desktop-directories/Preferences.directory.in.h:2 +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Hoffterau" + +#: ../desktop-directories/Settings-Accessibility.directory.in.h:2 +msgid "Accessibility related preferences" +msgstr "Hoffterau yn gysylltiedig â hygyrchedd" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences and settings" +msgstr "Hoffterau a gosodiadau personol" + +#: ../desktop-directories/System-Settings.directory.in.h:1 +msgid "Administration" +msgstr "Gweinyddiaeth" + +#: ../desktop-directories/System-Settings.directory.in.h:2 +msgid "Change systemwide settings (affects all users)" +msgstr "Newid gosodiadau system-eang (sy'n effeithio pob defnyddiwr)" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Offer System" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Cyflunio a monitro system" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Golygydd Dewislen" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "Golygu Dewislenni" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "_Rhaglenni:" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "_Rhagosodiadau" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "_Dewislenni" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123 +msgid "Name" +msgstr "Enw" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115 +msgid "Show" +msgstr "Dangos" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Methu darganfod cyfeiriadur cartref: nid oes cofnod yn /etc/passwd na gwerth " +"ar gyfer $HOME yn yr amgylchedd" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Ffeil ddewislen" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "FFEIL_DDEWISLEN" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Monitro newidiadau yn y ddewislen" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Cynnwys y cofnodion a <eithriwyd>" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Cynnwys y cofnodion a chanddynt NoDisplay=True" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "ID ffeil penbwrdd annilys" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Enw Ffeil Annilys]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <eithriwyd>" + +#: ../util/test-menu-spec.c:164 +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"=== Newidiwyd y ddewislen; ail-lwytho===\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Coeden ddewislen yn wag" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- profi gweithrediad MATE o Fanyleb Dewislenni Penbwrdd" diff --git a/po/da.po b/po/da.po new file mode 100644 index 0000000..8f17a70 --- /dev/null +++ b/po/da.po @@ -0,0 +1,284 @@ +# Danish translation of mate-menus. +# Copyright (C) 2007 Mark McLoughlin +# This file is distributed under the same license as the mate-menus package. +# David Nielsen <[email protected]>, 2004. +# Martin Willemoes Hansen <[email protected]>, 2005. +# Ole Laursen <[email protected]>, 2006. +# Peter Bach <[email protected]>, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-13 03:23+0200\n" +"PO-Revision-Date: 2009-09-12 18:19+0200\n" +"Last-Translator: Peter Bach <[email protected]>\n" +"Language-Team: Danish <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Multimedie-menu" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Lyd og video" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programmering" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Værktøj til programudvikling" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Læringsprogrammer" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Spil" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Spil og underholdning" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafik" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Grafikprogrammer" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Hardware" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Indstillinger for flere hardware-enheder" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet og netværk" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Netværksrelaterede indstillinger" + +# det er et fast udtryk på engelsk, skal ikke opfattes bogstaveligt +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Udseende og opførsel" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Indstillinger for kontrol af skrivebordets udseende og opførelse" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programmer til internetadgang, såsom web og e-post" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Kontor" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Kontorprogrammer" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Personlig" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Personlige indstillinger" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Administration" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Ændr systemindstillinger (påvirker alle brugere)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Personlige indstillinger" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Indstillinger" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "System" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Systemindstillinger" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Systemværktøjer" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Systemkonfiguration og -overvågning" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Universel adgang" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Indstillinger for universel adgang" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Tilbehør" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Skrivebordstilbehør" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Programmer" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Personlige indstillinger og administrationskonfiguration" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Programmer som ikke passer i andre katagorier" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Andre" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Menuredigering" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Redigér menuer" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Programmer:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Forvalg" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menuer:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Simpel menuredigering %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Navn" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Vis" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Kan ikke finde hjemmekataloget: det er ikke i /etc/passwd og der findes " +"ingen værdi for $HOME i miljøet" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Menufil" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FIL" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Overvåg menuændringer" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Medtag ekskluderede punkter (<Exclude>)" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Medtag punkter med NoDisplay=true" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Ugyldig skrivebordsfil-id" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Ugyldigt filnavn]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <ekskluderet>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Menu ændret, genindlæser ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Menutræ er tomt" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- test Mates implementering af specifikationen til skrivebordsmenuer" + +#~ msgid "Universal access related preferences" +#~ msgstr "Indstillinger relateret til universel adgang" + +#~ msgid "Personal preferences and settings" +#~ msgstr "Personlige indstillinger" + +#~ msgid "Accessibility" +#~ msgstr "Tilgængelighed" + +#~ msgid "Accessibility Settings" +#~ msgstr "Tilgængelighedsindstillinger" + +#~ msgid "Desktop" +#~ msgstr "Skrivebord" diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000..41da967 --- /dev/null +++ b/po/de.po @@ -0,0 +1,273 @@ +# German translation of mate-menus. +# Copyright (C) 2004 THE mate-menus'S COPYRIGHT HOLDER +# This file is distributed under the same license as the mate-menus package. +# Hendrik Brandt <[email protected]>, 2004-2005. +# Hendrik Richter <[email protected]>, 2006, 2007. +# Mario Blättermann <[email protected]>, 2009. +# Christian Kirbach <[email protected]>, 2010. +msgid "" +msgstr "" +"Project-Id-Version: mate-menus HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-31 20:08+0200\n" +"PO-Revision-Date: 2010-03-31 20:09+0200\n" +"Last-Translator: Christian Kirbach <[email protected]>\n" +"Language-Team: Deutsch <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Multimedia-Menü" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Multimedia" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Entwicklung" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Werkzeuge zur Software-Entwicklung" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Bildung" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Spiele" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Spiel und Spaß" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafik" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Anwendungen zur Grafikbearbeitung" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Hardware" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Einstellungen für Hardware" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet und Netzwerk" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Netzwerkbezogene Einstellungen" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Darstellung" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Einstellungen für das Aussehen und das Verhalten der Arbeitsoberfläche" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programme um Internet-Dienste wie E-Mail oder das WWW zu nutzen" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Büro" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Büroanwendungen" + +#. Translators: this is Personal as in "Personal settings" +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal" +msgstr "Persönlich" + +#: ../desktop-directories/Personal.directory.in.h:3 +msgid "Personal settings" +msgstr "Persönliche Vorlieben und Einstellungen" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Systemverwaltung" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Systemweite Einstellungen ändern (dies betrifft alle Benutzer)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Persönliche Einstellungen" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Einstellungen" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "System" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Systemeinstellungen" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Systemwerkzeuge" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Systemkonfiguration und -überwachung" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Barrierefreiheit" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Einstellungen zur Barrierefreiheit" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Zubehör" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Desktop-Zubehör" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Anwendungen" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Persönliche Anpassungen und Administratoreinstellungen" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Anwendungen welche in keine andere Kategorie eingeordnet werden können" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Sonstige" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Menüeditor" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Menüs bearbeiten" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Anwendungen:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Vorgaben" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menüs:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Einfacher Menüeditor %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Name" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Anzeigen" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Das Heimatverzeichnis des Benutzers konnte nicht gefunden werden: es ist " +"weder in /etc/passwd angegeben, noch gibt es einen Wert für die " +"Umgebungsvariable $HOME" + +#~ msgid "Menu file" +#~ msgstr "Menüdatei" + +#~ msgid "MENU_FILE" +#~ msgstr "MENÜ_DATEI" + +#~ msgid "Monitor for menu changes" +#~ msgstr "Menüänderungen überwachen" + +#~ msgid "Include <Exclude>d entries" +#~ msgstr "Mit »<ausschließen>« markierte Einträge einbeziehen" + +#~ msgid "Include NoDisplay=true entries" +#~ msgstr "Mit »NoDisplay=true« markierte Einträge einbeziehen" + +#~ msgid "Invalid desktop file ID" +#~ msgstr "Ungültige Desktop-Dateikennung" + +#~ msgid "[Invalid Filename]" +#~ msgstr "[Ungültiger Dateiname]" + +#~ msgid " <excluded>" +#~ msgstr " <ausschließen>" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "==== Menu changed, reloading ====\n" +#~ "\n" +#~ "\n" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "==== Menü wurde geändert, wird neu geladen ====\n" +#~ "\n" +#~ "\n" + +#~ msgid "Menu tree is empty" +#~ msgstr "Der Menübaum ist leer" + +#~ msgid "- test MATE's implementation of the Desktop Menu Specification" +#~ msgstr "- testen der MATE-Implementation der Desktop-Menü-Spezifikation" + +#~ msgid "Universal access related preferences" +#~ msgstr "Einstellungen zur Barrierefreiheit" + +#~ msgid "Personal preferences and settings" +#~ msgstr "Persönliche Vorlieben und Einstellungen" + +#~ msgid "Accessibility" +#~ msgstr "Barrierefreiheit" + +#~ msgid "Accessibility Settings" +#~ msgstr "Einstellungen zur Barrierefreiheit" + +#~ msgid "Desktop" +#~ msgstr "Desktop" diff --git a/po/dv.po b/po/dv.po new file mode 100644 index 0000000..a0afa09 --- /dev/null +++ b/po/dv.po @@ -0,0 +1,260 @@ +# Divehi translation for mate-menus +# Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 +# This file is distributed under the same license as the mate-menus package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: Inash Zubair <[email protected]>\n" +"POT-Creation-Date: 2009-03-17 15:27+0000\n" +"PO-Revision-Date: 2009-05-05 21:16+0000\n" +"Last-Translator: Huxain <[email protected]>\n" +"Language-Team: Divehi <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2009-05-23 10:44+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "މަލްޓިމީޑިއާ މެނޫ" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "އަޑު އަދި ވީޑިއޯ" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "ޕްރޮގްރާމިންގް" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "ސޮފްޓްވެޔާރ ޑެވެލޮޕް ކުރުމުގެ ޓޫލްސްތައް" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "ތައުލީމު" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "ގޭމްސް" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "ގޭމުތަކާއި މުނިފޫހިފިލުވުންތައް" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "ގްރެފިކްސް" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "ގްރެފިކްސް އެޕްލިކޭޝަންތައް" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "ހާރޑްވެއަރ" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "ހާރޑުވެއަރ ޑިވައިސްތަކުގެ ސެޓިންގްތައް" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "އިންޓަރނެޓް އަދި ނެޓްވޯރކް" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "ނެޓްވޯރކާގުޅޭ ސެޓިންގްތައް" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "ބަލާބެލުން" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "ޑެސްކްޓޮޕް ބަލާބެލުމާއި ހަރަކާތްތައް ކޮންޓްރޯލްކުރާ ސެޓިންގްސް" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "އިންޓަނެޓް" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "ވެބް އަދި އީމެއިލް ފަދަ އިންޓާނެޓްގެ ބޭނުންހިފާ ޕްރޮގްރާމުތައް" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "އޮފީސް" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "އޮފީސް އެޕްލިކޭޝަންސް" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "އަމިއްލަަ" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "އަމިއްލަ ސެޓިންތައް" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "އިދާރީ" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "މުޅި ސިސްޓަމް ގެ ސެޓިންގްސް ބަދަލު ކުރައްވާ - ޔޫޒާޒްއެކުލެވޭގޮތަށް" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "އަމިއްލަ ގޮތްތައްަ" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "ބޭނުންވާ ގޮތްތަށް" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "ސިސްޓަމް" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "ސިސްޓަމް ސެޓިންގްސް" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "ސިސްޓަމް ޓޫލްތައް" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "ސިސްޓަމް ކޮންފިގަރ ކުރުމާއި މޮނިޓަރ ކުރުން" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "ހުރިހާދިމލަކުން ވަދެވޭ" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "ވަނުމުގެ ސެޓިން ހެދުން" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "އެކްސެސަރީސް" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "ޑެސްކްޓޮޕް އެކްސެސަރީސް" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "އެޕްލިކޭޝަންސް" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "އަމިއްލަ ޕުރިފަރަންސް އަދި އެޑުމިނިސްޓުރެޓަރ ސެޓިން" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "އެހެން ކެޓަގަރީތަކާ ނުގުޅޭ އެޕްލިކޭޝަންތަށް" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "އެހެނިހެން" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "މެނޫއެޑިޓްކުރާ" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "މެނޫތައް އެޑިތްކުރުން" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "އެޕްލިކޭޝަންސް_" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "ޑިފޯލްޓްސް_" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "މެނޫތަށް_" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "ނަން" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "ދެއްކުން" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"ހޯމް ޑައިރޭކްޓަރީއެއް ނުފެނުނު - $HOME ނުވަތަ /etc/password މައުލޫމާތުމަދު" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "މެނޫފައިލް" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "މެނޫ_ފައިލް" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "މެނޫ ބަދަލުވޭތޯ ބަލާ" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "އެންޓްރީސްތައް ހިމެނޭ <Exclude>d" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "އެންޓްރީސްތައް ހިމެނޭ NoDisplay=true" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "ި ޑެސްކުޓޮޕް ފައިލް އައިޑީ ނުބައި" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[ނުބައި ފައިލްނަމެއް]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <ނުހިމެނޭ>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== މެނޫބަދަލުވެފައި، އަލުންލޯޑްވަނީ ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "މެނޫ ޓްރީގައި އެއްޗެއްނެތް" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "ނޯމްގެ ޑެސްކުޓޮޕް މެނޫ އިމްޕުލިމެންޓޭޝަން ޓެސްޓުކުރައްވާ" diff --git a/po/dz.po b/po/dz.po new file mode 100644 index 0000000..3c6f7dc --- /dev/null +++ b/po/dz.po @@ -0,0 +1,275 @@ +# Dzongkha translation of mate-menus +# Copyright @ 2006 Free Software Foundation, Inc. +# Mindu Dorji +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus.HEAD.dz\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-02 03:41+0100\n" +"PO-Revision-Date: 2007-06-27 04:18+0530\n" +"Last-Translator: Tshewang Norbu <[email protected]>\n" +"Language-Team: DZONGKHA <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2;plural=(n!=1);\n" +"X-Poedit-Language: Dzongkha\n" +"X-Poedit-Country: BHUTAN\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: ../desktop-directories/Accessibility.directory.in.h:1 +#: ../desktop-directories/Settings-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "འཛམ་གླིང་ཡོངས་ཁྱབ་འཛུལ་སྤྱོད་འབད་ནི" + +#: ../desktop-directories/Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "འཛམ་གླིང་ཡོངས་ཁྱབ་འཛུལ་སྤྱོད་ཀྱི་གཞི་སྒྲིག་ཚུ" + +#: ../desktop-directories/Accessories.directory.in.h:1 +msgid "Accessories" +msgstr "ཡན་ལག་ཅ་ཆས།" + +#: ../desktop-directories/Accessories.directory.in.h:2 +msgid "Desktop accessories" +msgstr "ཌེཀསི་ཊོཔ་གི་ ཡན་ལག་ཅ་ཆས།" + +#: ../desktop-directories/Applications.directory.in.h:1 +msgid "Applications" +msgstr "གློག་རིམ།" + +#: ../desktop-directories/Desktop.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "རང་དོན་དགའ་གདམ་དང་ བདག་སྐྱོང་གི་གཞི་སྒྲིག་ཚུ།" + +#: ../desktop-directories/Desktop.directory.in.h:2 +#: ../desktop-directories/System.directory.in.h:1 +msgid "System" +msgstr "རིམ་ལུགས་" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "ལས་རིམ་བཟོ་བ།" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "མཉེན་ཆས་བཟོ་ནིའི་ལག་ཆས།" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "ཤེས་རིག" + +#: ../desktop-directories/Games.directory.in.h:1 +msgid "Games" +msgstr "རྩེད་རིགས།" + +#: ../desktop-directories/Games.directory.in.h:2 +msgid "Games and amusements" +msgstr "རྩེད་རིགས་དང་ དགོད་བྲ་ཚུ།" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "ཚད་རིས།" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "ཚད་རིས་ཀྱི་གློག་རིམ།" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "སྲ་ཆས་" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "སྲ་ཆས་ཀྱི་ཐབས་འཕྲུལ་ལེ་ཤ་ཅིག་གི་དོན་ལུ་སྒྲིག་སྟངས་" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "ཨིན་ཊར་ནེཊི་དང་ཡོངས་འབྲེལ་" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "ཡོང་འབྲེལ་དང་འབྲེལ་བའི་སྒྲིག་སྟངས་" + +#: ../desktop-directories/Internet.directory.in.h:1 +msgid "Internet" +msgstr "ཨིན་ཊར་ནེཊི།" + +#: ../desktop-directories/Internet.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "ཨིན་ཊར་ནེཊི་ལུ་ འཛུལ་སྤྱོད་འབད་ནིའི་ལས་རིམ་ དཔེར་ན་ ཝེབ་དང་གློག་འཕྲིན་ལྟ་བུ།" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "བལྟ་ནི་དང་འཚོར་སྣང་" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "ཌེཀསི་ཊོཔ་གི་འབྱུང་སྣང་དང་སྤཡོད་ལམ་འདི་ཚད་འཛིན་འབད་མི་སྒྲིག་སྟངས་" + +#: ../desktop-directories/Multimedia.directory.in.h:1 +msgid "Multimedia menu" +msgstr "སྣ་མང་བརྡ་ལམ་དཀར་ཆག།" + +#: ../desktop-directories/Multimedia.directory.in.h:2 +msgid "Sound & Video" +msgstr "སྒྲ་སྐད་དང་གཟུགས་བརྙན།" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "ཡིག་ཚང་།" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "ཡིག་ཚང་གི་གློག་རིམ།" + +#: ../desktop-directories/Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "དབྱེ་ཁག་གཞན་ནང་ ཚུད་སྒྲིག་མེད་པའི་གློག་རིམ།" + +#: ../desktop-directories/Other.directory.in.h:2 +msgid "Other" +msgstr "གཞན།" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "རང་དོན་" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "རང་དོན་སྒྲིག་སྟངས་" + +#: ../desktop-directories/Preferences.directory.in.h:1 +msgid "Personal preferences" +msgstr "རང་དོན་དགའ་གདམ་ཚུ།" + +#: ../desktop-directories/Preferences.directory.in.h:2 +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "དགའ་གདམ་ཚུ།" + +#: ../desktop-directories/Settings-Accessibility.directory.in.h:2 +msgid "Universal access related preferences" +msgstr "འཛམ་གླིང་ཡོངས་ཁྱབ་འཛུལ་སྤྱོད་དང་འབྲེལ་བའི་ དགའ་གདམ་ཚུ" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences and settings" +msgstr "རང་དོན་དགའ་གདམ་དང་ གཞི་སྒྲིག་ཚུ།" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "རིམ་ལུགས་སྒྲིག་སྟངས་" + +#: ../desktop-directories/System-Settings.directory.in.h:1 +msgid "Administration" +msgstr "བདག་སྐྱོང་།" + +#: ../desktop-directories/System-Settings.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "རིམ་ལུགས་ཡོངས་ཀྱི་ གཞི་སྒྲིག་བསྒྱུར་བཅོས་འབད (ལག་ལེན་པ་ཀུན་ལུ་ཕན་གནོད་ཡོད)" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "རིམ་ལུགས་ལག་ཆས།" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "རིམ་ལུགས་རིམ་སྒྲིག་དང་ལྟ་རྟོག།" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "དཀར་ཆག་ཞུན་དགཔ།" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "དཀར་ཆག་ཚུ་ཞུན་དག་རྐྱབས།" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "གློག་རིམ་ཚུ་:(_A)" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "སྔོན་སྒྲིག་ཚུ།(_D)" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "དཀར་ཆག་ཚུ་:(_M)" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123 +msgid "Name" +msgstr "མིང་།" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115 +msgid "Show" +msgstr "སྟོན།" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44 +msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment" +msgstr "ཁྱིམ་གྱི་སྣོད་ཐོ་ འཚོལ་མི་ཐོབ་པས་: /etc/passwd ནང་ གཞི་སྒྲིག་མ་འབདཝ་མ་ཚད་ མཐའ་འཁོར་ནང་ $HOME གི་དོན་ལུ་ ལེ་བུ་མིན་འདུག" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "དཀར་ཆག་ཡིག་སྣོད།" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "དཀར་ཆག་ཡིག་སྣོད།(_F)" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "དཀར་ཆག་བསྒྱུར་བཅོས་ཀྱི་ལྟ་རྟོག་པ།" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "ཌི་ཐོ་བཀོད་ཚུ་ གྲངས་སུ་བཙུགས་ <གྲངས་ལས་བཏོན་>" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "ནོ་ཌིསི་པེ་ལེ་ གྲངས་སུ་བཙུགས་ = ཐོ་བཀོད་ངེས་བདེན་ཚུ།" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "ནུས་མེད་ཌེཀསི་ཊོཔ་ཡིག་སྣོད་ཀྱི་ཨའི་ཌི།" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[ནུས་མེད་ཡིག་སྣོད་མིང་]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr "<གྲངས་ལས་བཏོན་ཡོདཔ་>" + +#: ../util/test-menu-spec.c:164 +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== དཀར་ཆག་སོར་ཡི། སླར་མངོན་གསལ་འབད་དོ། ====\n" +"\n" + +#: ../util/test-menu-spec.c:169 +#: ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "དཀར་ཆག་རྩ་འབྲེལ་སྟོངམ་ཨིན་པས།" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "ཌེཀསི་ཊོཔ་ དཀར་ཆག་གསལ་བཀོད་ཀྱི་ ཇི་ནོམ་བསྟར་སྤྱོད་ལུ་ བརྟག་ཞིབ་འབད།" + +#~ msgid "Accessibility" +#~ msgstr "འཛུལ་སྤྱོད།" +#~ msgid "Accessibility Settings" +#~ msgstr "འཛུལ་སྤྱོད་ཀྱི་གཞི་སྒྲིག་ཚུ།" +#~ msgid "Desktop" +#~ msgstr "ཌེཀསི་ཊོཔ།" + diff --git a/po/el.po b/po/el.po new file mode 100644 index 0000000..f422b6c --- /dev/null +++ b/po/el.po @@ -0,0 +1,255 @@ +# Translation of mate-menus to Greek +# This file is distributed under the same license as the mate-menus package. +# Copyright (C) Free Software Foundation. +# +# Simos Xenitellis <[email protected]>, 2004. +# Nikos Charonitakis <[email protected]>, 2005. +# Kostas Papadimas <[email protected]>, 2006. +msgid "" +msgstr "" +"Project-Id-Version: el\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-28 09:57+0300\n" +"PO-Revision-Date: 2010-03-28 10:00+0200\n" +"Last-Translator: Kostas Papadimas <[email protected]>\n" +"Language-Team: Greek <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Μενού πολυμέσων" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Ήχος και βίντεο" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Προγραμματισμός" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Εργαλεία για ανάπτυξη λογισμικού" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Εκπαίδευση" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Παιχνίδια" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Παιχνίδια και διασκέδαση" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Γραφικά" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Εφαρμογές γραφικών" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Υλικό" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Ρυθμίσεις για διάφορες συσκευές" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Διαδίκτυο και δίκτυο" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Ρυθμίσεις για το δίκτυο" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Ρυθμίσεις εμφάνισης" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Ρυθμίσεις για την εμφάνιση και συμπεριφορά της επιφάνειας εργασίας" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Διαδίκτυο" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Προγράμματα πρόσβασης στο Διαδίκτυο όπως φυλλομετρητής και ηλεκ. αλληλογραφία" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Γραφείο" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Εφαρμογές γραφείου" + +#. Translators: this is Personal as in "Personal settings" +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal" +msgstr "Προσωπικά" + +#: ../desktop-directories/Personal.directory.in.h:3 +msgid "Personal settings" +msgstr "Προσωπικές ρυθμίσεις" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Διαχείριση συστήματος" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Τροποποίηση ρυθμίσεων συστήματος (επηρεάζει όλους τους χρήστες)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Προσωπικές προτιμήσεις" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Προτιμήσεις" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Σύστημα" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Ρυθμίσεις συστήματος" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Εργαλεία συστήματος" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Ρύθμιση και έλεγχος συστήματος" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Γενική πρόσβαση" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Ρυθμίσεις γενικής πρόσβασης" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Βοηθήματα" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Βοηθήματα επιφάνειας εργασίας" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Εφαρμογές" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Προσωπικές προτιμήσεις και ρυθμίσεις διαχείρισης" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Εφαρμογές που δεν ταιριάζουν στις άλλες κατηγορίες" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Άλλα" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Επεξεργαστής μενού" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Επεξεργασία μενού" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Εφαρμογές:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Προεπιλεγμένα" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Μενού:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Απλός Επεξεργαστής μενού %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Όνομα" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Εμφάνιση" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment" +msgstr "Αδυναμία εύρεσης αρχικού καταλόγου: δεν έχει ορισθεί τιμή στο /etc/passwd και στο$HOME στο περιβάλλον" + +#~ msgid "Universal access related preferences" +#~ msgstr "Προτιμήσεις σχετικά με γενική πρόσβαση" +#~ msgid "Personal preferences and settings" +#~ msgstr "Προσωπικές προτιμήσεις και ρυθμίσεις" +#~ msgid "Menu file" +#~ msgstr "Αρχείο μενού" +#~ msgid "MENU_FILE" +#~ msgstr "MENU_FILE" +#~ msgid "Monitor for menu changes" +#~ msgstr "Παρακολούθηση για αλλαγές στο μενού" +#~ msgid "Include <Exclude>d entries" +#~ msgstr "Να συμπεριλαμβάνονται <αποκλεισμένες> καταχωρίσεις" +#~ msgid "Include NoDisplay=true entries" +#~ msgstr "Να συμπεριλαμβάνονται <αποκλεισμένες> καταχωρίσεις" +#~ msgid "Invalid desktop file ID" +#~ msgstr "Μη έγκυρο αναγνωριστικό αρχείου επιφάνειας εργασίας" +#~ msgid "[Invalid Filename]" +#~ msgstr "[Μη έγκυρο όνομα αρχείου]" +#~ msgid " <excluded>" +#~ msgstr " <αποκλεισμένα>" +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "==== Menu changed, reloading ====\n" +#~ "\n" +#~ "\n" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "==== Το μενού άλλαξε, επαναφόρτωση ====\n" +#~ "\n" +#~ "\n" +#~ msgid "Menu tree is empty" +#~ msgstr "Το δέντρο μενού είναι κενό" +#~ msgid "- test MATE's implementation of the Desktop Menu Specification" +#~ msgstr "" +#~ "- δοκιμή της εφαρμογής από το MATE των οδηγιών μενού επιφάνειας εργασίας" +#~ msgid "Accessibility" +#~ msgstr "Προσιτότητα" +#~ msgid "Accessibility Settings" +#~ msgstr "Ρυθμίσεις Προσιτότητας" +#~ msgid "Desktop" +#~ msgstr "Επιφάνεια Εργασίας" + diff --git a/po/[email protected] b/po/[email protected] new file mode 100644 index 0000000..8e07ca0 --- /dev/null +++ b/po/[email protected] @@ -0,0 +1,211 @@ +# mate-menus Shavian translation. +# Copyright (C) 2009 +# This file is distributed under the same license as the mate-menus package. +# Thomas Thurman <[email protected]>, 2009 +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n" +"POT-Creation-Date: 2010-04-24 19:28+0000\n" +"PO-Revision-Date: 2010-05-16 16:05 -0400\n" +"Last-Translator: Thomas Thurman <[email protected]>\n" +"Language-Team: Shavian <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n!=1;\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "𐑥𐑩𐑤𐑑𐑰𐑥𐑰𐑛𐑰𐑩 𐑥𐑧𐑯𐑿" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "𐑕𐑬𐑯𐑛 𐑯 𐑝𐑦𐑛𐑦𐑴" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "𐑐𐑮𐑴𐑜𐑮𐑨𐑥𐑦𐑙" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "𐑑𐑵𐑤𐑟 𐑓𐑹 𐑕𐑪𐑓𐑑𐑢𐑺 𐑛𐑦𐑝𐑧𐑤𐑩𐑐𐑥𐑩𐑯𐑑" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "𐑧𐑛𐑿𐑒𐑱𐑖𐑩𐑯" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "𐑜𐑱𐑥𐑟" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "𐑜𐑱𐑥𐑟 𐑯 𐑨𐑥𐑿𐑟𐑥𐑩𐑯𐑑𐑕" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "𐑜𐑮𐑨𐑓𐑦𐑒𐑕" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "𐑜𐑮𐑨𐑓𐑦𐑒𐑕 𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯𐑟" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "𐑣𐑭𐑮𐑛𐑢𐑧𐑮" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "𐑕𐑧𐑑𐑦𐑙𐑟 𐑓𐑹 𐑕𐑧𐑝𐑼𐑩𐑤 𐑣𐑭𐑮𐑛𐑢𐑧𐑮 𐑛𐑦𐑝𐑲𐑕𐑩𐑟" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "·𐑦𐑯𐑑𐑼𐑯𐑧𐑑 𐑯 𐑯𐑧𐑑𐑢𐑻𐑒" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "𐑯𐑧𐑑𐑢𐑻𐑒-𐑮𐑦𐑤𐑱𐑑𐑩𐑛 𐑕𐑧𐑑𐑦𐑙𐑟" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "𐑤𐑫𐑒 𐑯 𐑓𐑰𐑤" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "𐑕𐑧𐑑𐑦𐑙𐑟 𐑒𐑩𐑯𐑑𐑮𐑴𐑤𐑦𐑙 𐑞 𐑛𐑧𐑕𐑒𐑑𐑪𐑐 𐑩𐑐𐑽𐑩𐑯𐑕 𐑯 𐑚𐑦𐑣𐑱𐑝𐑘𐑼" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "·𐑦𐑯𐑑𐑼𐑯𐑧𐑑" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "𐑐𐑮𐑴𐑜𐑮𐑨𐑥𐑟 𐑓𐑹 ·𐑦𐑯𐑑𐑼𐑯𐑧𐑑 𐑨𐑒𐑕𐑧𐑕 𐑕𐑳𐑗 𐑨𐑟 𐑢𐑧𐑚 𐑯 𐑰𐑥𐑱𐑤" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "𐑪𐑓𐑦𐑕" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "𐑪𐑓𐑦𐑕 𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯𐑟" + +#. Translators: this is Personal as in "Personal settings" +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal" +msgstr "𐑐𐑻𐑕𐑩𐑯𐑩𐑤" + +#: ../desktop-directories/Personal.directory.in.h:3 +msgid "Personal settings" +msgstr "𐑐𐑻𐑕𐑩𐑯𐑩𐑤 𐑕𐑧𐑑𐑦𐑙𐑟" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "𐑩𐑛𐑥𐑦𐑯𐑦𐑕𐑑𐑮𐑱𐑖𐑩𐑯" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "𐑗𐑱𐑯𐑡 𐑕𐑦𐑕𐑑𐑩𐑥-𐑢𐑲𐑛 𐑕𐑧𐑑𐑦𐑙𐑟 (𐑩𐑓𐑧𐑒𐑑𐑕 𐑷𐑤 𐑿𐑟𐑼𐑟)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "𐑐𐑻𐑕𐑩𐑯𐑩𐑤 𐑐𐑮𐑧𐑓𐑼𐑩𐑯𐑕𐑩𐑟" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "𐑐𐑮𐑧𐑓𐑼𐑩𐑯𐑕𐑩𐑟" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "𐑕𐑦𐑕𐑑𐑩𐑥" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "𐑕𐑦𐑕𐑑𐑩𐑥 𐑕𐑧𐑑𐑦𐑙𐑟" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "𐑕𐑦𐑕𐑑𐑩𐑥 𐑑𐑵𐑤𐑟" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "𐑕𐑦𐑕𐑑𐑩𐑥 𐑒𐑩𐑯𐑓𐑦𐑜𐑘𐑼𐑱𐑖𐑩𐑯 𐑯 𐑥𐑭𐑯𐑩𐑑𐑻𐑦𐑙" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "𐑿𐑯𐑩𐑝𐑻𐑕𐑩𐑤 𐑨𐑒𐑕𐑧𐑕" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "𐑿𐑯𐑩𐑝𐑻𐑕𐑩𐑤 𐑨𐑒𐑕𐑧𐑕 𐑕𐑧𐑑𐑦𐑙𐑟" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "𐑨𐑒𐑕𐑧𐑕𐑼𐑦𐑟" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "𐑛𐑧𐑕𐑒𐑑𐑪𐑐 𐑨𐑒𐑕𐑧𐑕𐑼𐑦𐑟" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯𐑟" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "𐑐𐑻𐑕𐑩𐑯𐑩𐑤 𐑐𐑮𐑧𐑓𐑼𐑩𐑯𐑕𐑩𐑟 𐑯 𐑩𐑛𐑥𐑦𐑯𐑦𐑕𐑑𐑮𐑱𐑖𐑩𐑯 𐑕𐑧𐑑𐑦𐑙𐑟" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯𐑟 𐑞𐑨𐑑 𐑛𐑦𐑛 𐑯𐑪𐑑 𐑓𐑦𐑑 𐑦𐑯 𐑳𐑞𐑼 𐑒𐑨𐑑𐑩𐑜𐑪𐑮𐑰𐑟" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "𐑳𐑞𐑼" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "𐑥𐑧𐑯𐑿 𐑧𐑛𐑦𐑑𐑹" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "𐑧𐑛𐑦𐑑 𐑥𐑧𐑯𐑿𐑟" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_𐑨𐑐𐑤𐑦𐑒𐑱𐑖𐑩𐑯𐑟:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_𐑛𐑩𐑓𐑪𐑤𐑑𐑕" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_𐑥𐑧𐑯𐑿𐑟:" + +#. Translators: %s is the version number +#, python-format +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +msgid "Simple Menu Editor %s" +msgstr "𐑕𐑦𐑥𐑐𐑩𐑤 𐑥𐑧𐑯𐑿 𐑧𐑛𐑦𐑑𐑼 %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "𐑯𐑱𐑥" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "𐑖𐑴" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"𐑒𐑨𐑯𐑪𐑑 𐑓𐑲𐑯𐑛 𐑣𐑴𐑥 𐑛𐑲𐑮𐑧𐑒𐑑𐑼𐑦: 𐑯𐑪𐑑 𐑕𐑧𐑑 𐑦𐑯 /etc/passwd 𐑯 𐑯𐑴 𐑝𐑨𐑤𐑿 𐑓𐑹 $HOME 𐑦𐑯 " +"𐑧𐑯𐑝𐑲𐑼𐑯𐑥𐑩𐑯𐑑" + diff --git a/po/en_CA.po b/po/en_CA.po new file mode 100644 index 0000000..c783eb7 --- /dev/null +++ b/po/en_CA.po @@ -0,0 +1,232 @@ +# Canadian English translation for mate-menus +# Copyright (C) 2004-2005 Adam Weinberger and the MATE Foundation +# This file is distributed under the same licence as the mate-menus package. +# Adam Weinberger <[email protected]>, 2004, 2005. +# +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-12-23 02:37-0500\n" +"PO-Revision-Date: 2005-08-02 01:44-0400\n" +"Last-Translator: Adam Weinberger <[email protected]>\n" +"Language-Team: Canadian English <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/Accessibility.directory.in.h:1 +#: ../desktop-directories/Settings-Accessibility.directory.in.h:1 +msgid "Accessibility" +msgstr "Accessibility" + +#: ../desktop-directories/Accessibility.directory.in.h:2 +msgid "Accessibility Settings" +msgstr "Accessibility Settings" + +#: ../desktop-directories/Accessories.directory.in.h:1 +msgid "Accessories" +msgstr "Accessories" + +#: ../desktop-directories/Accessories.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Desktop accessories" + +#: ../desktop-directories/Applications.directory.in.h:1 +msgid "Applications" +msgstr "Applications" + +#: ../desktop-directories/Desktop.directory.in.h:1 +msgid "Desktop" +msgstr "Desktop" + +#: ../desktop-directories/Desktop.directory.in.h:2 +msgid "Personal preferences and administration settings" +msgstr "Personal preferences and administration settings" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programming" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Tools for software development" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Education" + +#: ../desktop-directories/Games.directory.in.h:1 +msgid "Games" +msgstr "Games" + +#: ../desktop-directories/Games.directory.in.h:2 +msgid "Games and amusements" +msgstr "Games and amusements" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Graphics" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Graphics applications" + +#: ../desktop-directories/Internet.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Internet.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programs for Internet access, such as web and email" + +#: ../desktop-directories/Multimedia.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Multimedia menu" + +#: ../desktop-directories/Multimedia.directory.in.h:2 +msgid "Sound & Video" +msgstr "Sound & Video" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Office" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Office Applications" + +#: ../desktop-directories/Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Applications that do not fit in other categories" + +#: ../desktop-directories/Other.directory.in.h:2 +msgid "Other" +msgstr "Other" + +#: ../desktop-directories/Preferences.directory.in.h:1 +msgid "Personal preferences" +msgstr "Personal preferences" + +#: ../desktop-directories/Preferences.directory.in.h:2 +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Preferences" + +#: ../desktop-directories/Settings-Accessibility.directory.in.h:2 +msgid "Accessibility related preferences" +msgstr "Accessibility-related preferences" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences and settings" +msgstr "Personal preferences and settings" + +#: ../desktop-directories/System-Settings.directory.in.h:1 +msgid "Administration" +msgstr "Administration" + +#: ../desktop-directories/System-Settings.directory.in.h:2 +msgid "Change systemwide settings (affects all users)" +msgstr "Change system-wide settings (affects all users)" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "System Tools" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "System configuration and monitoring" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Menu Editor" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "Edit Menus" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "_Applications:" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "_Defaults" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "_Menus:" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123 +msgid "Name" +msgstr "Name" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115 +msgid "Show" +msgstr "Show" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Menu file" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Monitor for menu changes" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Include <Exclude>d entries" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Include NoDisplay=true entries" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Invalid desktop file ID" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Invalid Filename]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Menu changed; reloading ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Menu tree is empty" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- test MATE's implementation of the Desktop Menu Specification" diff --git a/po/en_GB.po b/po/en_GB.po new file mode 100644 index 0000000..a2d0872 --- /dev/null +++ b/po/en_GB.po @@ -0,0 +1,283 @@ +# English (British) translation for mate-menus +# Copyright (C) 2005 The Mate Foundation +# This file is distributed under the same license as the mate-menus package. +# David Lodge <[email protected]>, 2005. +# Philip Withnall <[email protected]>, 2009. +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-12 23:34+0100\n" +"PO-Revision-Date: 2007-05-15 22:40-0000\n" +"Last-Translator: Philip Withnall <[email protected]>\n" +"Language-Team: British English <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Multimedia menu" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Sound & Video" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programming" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Tools for software development" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Education" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Games" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Games and amusements" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Graphics" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Graphics applications" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Hardware" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Settings for several hardware devices" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet and Network" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Network-related settings" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Look and Feel" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Settings controlling the desktop appearance and behaviour" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programs for Internet access such as web and email" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Office" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Office Applications" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Personal" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Personal settings" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Administration" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Change system-wide settings (affects all users)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Personal preferences" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Preferences" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "System" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "System settings" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "System Tools" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "System configuration and monitoring" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Universal Access" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Universal Access Settings" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Accessories" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Desktop accessories" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Applications" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Personal preferences and administration settings" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Applications that did not fit in other categories" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Other" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Menu Editor" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Edit Menus" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Applications:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Defaults" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menus:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Simple Menu Editor %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Name" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Show" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Menu file" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Monitor for menu changes" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Include <Exclude>d entries" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Include NoDisplay=true entries" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Invalid desktop file ID" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Invalid Filename]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Menu tree is empty" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- test MATE's implementation of the Desktop Menu Specification" + +#~ msgid "Universal access related preferences" +#~ msgstr "Universal access related preferences" + +#~ msgid "Personal preferences and settings" +#~ msgstr "Personal preferences and settings" + +#~ msgid "Accessibility" +#~ msgstr "Accessibility" + +#~ msgid "Accessibility Settings" +#~ msgstr "Accessibility Settings" + +#~ msgid "Desktop" +#~ msgstr "Desktop" + +#~ msgid "Hide" +#~ msgstr "Hide" diff --git a/po/eo.po b/po/eo.po new file mode 100644 index 0000000..ab93197 --- /dev/null +++ b/po/eo.po @@ -0,0 +1,315 @@ +# Esperanto translation for mate-menus +# Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 +# This file is distributed under the same license as the mate-menus package. +# +# Joop EGGEN <[email protected]>, 2006 +# Guillaume SAVATON <[email protected]>, 2006 +# Kristjan SCHMIDT <[email protected]>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-" +"menus&component=general\n" +"POT-Creation-Date: 2010-06-22 01:58+0000\n" +"PO-Revision-Date: 2010-06-23 17:13+0200\n" +"Last-Translator: Kristjan SCHMIDT <[email protected]>\n" +"Language-Team: Esperanto <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2010-06-23 15:12+0000\n" +"X-Generator: Launchpad (build Unknown)\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Plurmediomenuo" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Sono kaj video" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programado" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Iloj por programado" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Edukado" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Ludoj" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Ludoj kaj amuzoj" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafikoj" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Grafikaj aplikaĵoj" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Aparataro" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Agordaro por pluraj aparatoj" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Interreto kaj reto" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Retrilata agordaro" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Aspekto kaj konduto" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Agordaro reganta aspekton kaj konduton de la labortablo" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Interreto" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programoj por retuzo, ekzemple por retlegado kaj retpoŝto" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Oficejo" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Oficejaj aplikaĵoj" + +#. Translators: this is Personal as in "Personal settings" +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal" +msgstr "Persona" + +#: ../desktop-directories/Personal.directory.in.h:3 +msgid "Personal settings" +msgstr "Persona agordaro" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Administrado" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Ŝanĝi plensistemajn agordojn (aplikiĝas al ĉiuj uzantoj)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Personaj agordoj" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Agordoj" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Sistemo" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Sistema agordaro" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Sistemaj iloj" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Agordi kaj kontroli sistemon" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Universala aliro" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Agordoj por universala aliro" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Utilaĵoj" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Labortablaj utilaĵoj" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Aplikaĵoj" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Personaj preferoj kaj administraj agordoj" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Aplikaĵoj neagordaj aliajn kategoriojn" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Alia" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Menua redaktilo" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Redakti menuojn" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Aplikaĵoj:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Defaŭltoj" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menuoj:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Simpla menu-redaktilo %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Nomo" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Montri" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Ne eblas trovi hejman dosierujon: ne agordita en /etc/passwd kaj mankas " +"valoro por media variablo $HOME" + +#~ msgid "Action" +#~ msgstr "Ago" + +#~ msgid "Action games" +#~ msgstr "Agaj ludoj" + +#~ msgid "Adventure" +#~ msgstr "Aventuro" + +#~ msgid "Adventure style games" +#~ msgstr "Aventur-ludoj" + +#~ msgid "Arcade" +#~ msgstr "Arkado" + +#~ msgid "Arcade style games" +#~ msgstr "Arkadmanieraj ludoj" + +#~ msgid "Falling blocks" +#~ msgstr "Falantaj blokoj" + +#~ msgid "Falling blocks games" +#~ msgstr "Ludoj de falantaj blokoj" + +#~ msgid "Board" +#~ msgstr "Tabulo" + +#~ msgid "Board games" +#~ msgstr "Tabulaj ludoj" + +#~ msgid "Card games" +#~ msgstr "Kart-ludoj" + +#~ msgid "Cards" +#~ msgstr "Kartoj" + +#~ msgid "Debian" +#~ msgstr "Debiano" + +#~ msgid "The Debian menu" +#~ msgstr "La Debiana menuo" + +#~ msgid "Science" +#~ msgstr "Scienco" + +#~ msgid "Scientific applications" +#~ msgstr "Sciencaj programoj" + +#~ msgid "Games for kids" +#~ msgstr "Infan-ludoj" + +#~ msgid "Kids" +#~ msgstr "Infanoj" + +#~ msgid "Logic" +#~ msgstr "Logiko" + +#~ msgid "Logic and puzzle games" +#~ msgstr "Puzloj kaj logikaj ludoj" + +#~ msgid "Role playing" +#~ msgstr "Rolo" + +#~ msgid "Role playing games" +#~ msgstr "Rolo-ludoj" + +#~ msgid "Simulation" +#~ msgstr "Ŝajnigado" + +#~ msgid "Simulation games" +#~ msgstr "Ŝajnigadaj ludoj" + +#~ msgid "Sports" +#~ msgstr "Sporto" + +#~ msgid "Sports games" +#~ msgstr "Sportaj ludoj" + +#~ msgid "Strategy" +#~ msgstr "Strategio" + +#~ msgid "Strategy games" +#~ msgstr "Strategiaj ludoj" + +#~ msgid "Monitor for menu changes" +#~ msgstr "Kontrolilo por menuaj ŝanĝoj" + +#~ msgid "Menu file" +#~ msgstr "Menua dosiero" + +#~ msgid " <excluded>" +#~ msgstr " <ekskludita>" + +#~ msgid "[Invalid Filename]" +#~ msgstr "[Nevalida dosiernomo]" + +#~ msgid "MENU_FILE" +#~ msgstr "MENU_FILE" diff --git a/po/es.po b/po/es.po new file mode 100644 index 0000000..490cf3b --- /dev/null +++ b/po/es.po @@ -0,0 +1,281 @@ +# translation of mate-menus to spanish +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) 2005 Mate Foundation, 2005. +# +# Francisco Javier F. Serrador <[email protected]>, 2005, 2006. +# Claudio Saavedra <[email protected]>, 2007. +# Jorge González <[email protected]>, 200, 2009. +msgid "" +msgstr "" +"Project-Id-Version: mate-menus.HEAD.es\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-" +"menus&component=general\n" +"POT-Creation-Date: 2009-06-21 17:35+0000\n" +"PO-Revision-Date: 2009-06-27 14:57+0200\n" +"Last-Translator: Jorge González <[email protected]>\n" +"Language-Team: Español <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Menú de programas para multimedia" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Sonido y vídeo" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programación" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Herramientas para el desarrollo del software" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Educación" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Juegos" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Juegos y distracciones" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Gráficos" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Aplicaciones gráficas" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Hardware" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Propiedades para varios dispositivos de hardware" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet y red" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Propiedades relacionadas con la red" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Visualización y comportamiento" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "" +"Propiedades que controlan la apariencia y el comportamiento del escritorio" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programas para acceso a Internet, tales como web y correo-e" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Oficina" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Aplicaciones de oficina" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Personal" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Preferencias personales" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Administración" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "" +"Cambia las preferencias globales del sistema (afecta a todos los usuarios)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Preferencias personales" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Preferencias" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Sistema" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Preferencias del sistema" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Herramientas del sistema" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Configuración y monitorización del sistema" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Acceso universal" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Preferencias del acceso universal" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Accesorios" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Accesorios del escritorio" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Aplicaciones" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Propiedades personales y opciones de administración" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Aplicaciones que no entran en otras categorías" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Otras" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Editor del menú" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Editar menús" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Aplicaciones:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Predeterminados" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menús:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +#| msgid "Menu Editor" +msgid "Simple Menu Editor %s" +msgstr "Editor simple del menú %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Nombre" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Mostrar" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"No se puede encontrar el directorio personal: no está establecido en /etc/" +"passwd y no hay ningún valor en la variable de entorno $HOME" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Archivo de menú" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "ARCHIVO_MENÚ" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Monitorizar cambios en el menú" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Incluir entradas <Exclude>" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Incluir entradas Nodisplay=true" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Id de archivo de escritorio inválido" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Nombre de archivo inválido]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== El menú ha cambiado, recargándolo ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "El árbol del menú está vacío" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "" +"- probar la implementación de MATE de la Especificación del Menú de " +"Escritorio" + +#~ msgid "Universal access related preferences" +#~ msgstr "Preferencias relacionadas con el acceso universal" + +#~ msgid "Personal preferences and settings" +#~ msgstr "Preferencias y configuración personales" diff --git a/po/et.po b/po/et.po new file mode 100644 index 0000000..473495d --- /dev/null +++ b/po/et.po @@ -0,0 +1,219 @@ +# MATE menüüde eesti keele tõlge +# Estonian translation of Mate-menus +# +# Copyright (C) 2005 Free Software Foundation, Inc. +# Copyright (C) 2007 The MATE Project +# This file is distributed under the same license as the Mate-menus package. +# +# Priit Laes <[email protected]>, 2005. +# Ivar Smolin <[email protected]>, 2005, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus HEAD\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-" +"menus&component=general\n" +"POT-Creation-Date: 2009-06-21 17:35+0000\n" +"PO-Revision-Date: 2009-06-25 01:27+0300\n" +"Last-Translator: Mattias Põldaru <mahfiaz gmail com>\n" +"Language-Team: Estonian <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Multimedia menu" +msgstr "Multimeediamenüü" + +msgid "Sound & Video" +msgstr "Audio ja video" + +msgid "Programming" +msgstr "Programmeerimine" + +msgid "Tools for software development" +msgstr "Tarkvaraarenduse tööriistad" + +msgid "Education" +msgstr "Õppeprogrammid" + +msgid "Games" +msgstr "Mängud" + +msgid "Games and amusements" +msgstr "Mängud ja meelelahutus" + +msgid "Graphics" +msgstr "Graafika" + +msgid "Graphics applications" +msgstr "Graafikatöötlusprogrammid" + +msgid "Hardware" +msgstr "Riistvara" + +msgid "Settings for several hardware devices" +msgstr "Mõnede riistvaraliste seadmete sätted" + +msgid "Internet and Network" +msgstr "Internet ja võrk" + +msgid "Network-related settings" +msgstr "Võrguga seotud sätted" + +msgid "Look and Feel" +msgstr "Välimus ja tunnetus" + +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Töölaua välimuse ja käitumise juhtimine" + +msgid "Internet" +msgstr "Internet" + +msgid "Programs for Internet access such as web and email" +msgstr "Internetprogrammid - näiteks veebi ja e-posti jaoks" + +msgid "Office" +msgstr "Kontor" + +msgid "Office Applications" +msgstr "Kontoritarkvara" + +msgid "Personal" +msgstr "Isiklik" + +msgid "Personal settings" +msgstr "Isiklikud sätted" + +msgid "Administration" +msgstr "Haldamine" + +msgid "Change system-wide settings (affects all users)" +msgstr "Ülesüsteemiliste sätete muutmine (mõjutab kõiki kasutajaid)" + +msgid "Personal preferences" +msgstr "Isiklikud eelistused" + +msgid "Preferences" +msgstr "Eelistused" + +msgid "System" +msgstr "Süsteem" + +msgid "System settings" +msgstr "Süsteemi sätted" + +msgid "System Tools" +msgstr "Süsteemi tööriistad" + +msgid "System configuration and monitoring" +msgstr "Süsteemi seadistamine ja jälgimine" + +msgid "Universal Access" +msgstr "Universaalne ligipääs" + +msgid "Universal Access Settings" +msgstr "Universaalse ligipääsu sätted" + +msgid "Accessories" +msgstr "Tarvikud" + +msgid "Desktop accessories" +msgstr "Töölaua tarvikud" + +msgid "Applications" +msgstr "Rakendused" + +msgid "Personal preferences and administration settings" +msgstr "Isiklikud eelistused ja haldussätted" + +msgid "Applications that did not fit in other categories" +msgstr "Rakendused, mis ei sobinud teistesse kategooriatesse" + +msgid "Other" +msgstr "Muu" + +msgid "Menu Editor" +msgstr "Menüüredaktor" + +msgid "Edit Menus" +msgstr "Menüüde redigeermine" + +msgid "_Applications:" +msgstr "_Rakendused:" + +msgid "_Defaults" +msgstr "_Vaikimisi" + +msgid "_Menus:" +msgstr "_Menüüd:" + +#. Translators: %s is the version number +#, python-format +#| msgid "Menu Editor" +msgid "Simple Menu Editor %s" +msgstr "Lihtne menüüredaktor %s" + +msgid "Name" +msgstr "Nimi" + +msgid "Show" +msgstr "Vaade" + +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Kodukausta pole võimalik leida: seda pole määratud ei /etc/passwd failis ega " +"$HOME keskkonnamuutujas" + +msgid "Menu file" +msgstr "Menüüfail" + +msgid "MENU_FILE" +msgstr "MENU_FILE" + +msgid "Monitor for menu changes" +msgstr "Jälgi muudatusi menüüs" + +msgid "Include <Exclude>d entries" +msgstr "Kaasa ka <välistatud> kirjed" + +msgid "Include NoDisplay=true entries" +msgstr "Kaasa ka <NoDisplay=true> kirjed" + +msgid "Invalid desktop file ID" +msgstr "Vigane töölauafaili ID" + +msgid "[Invalid Filename]" +msgstr "[Vigane failinimi]" + +msgid " <excluded>" +msgstr "<välistatud>" + +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Menüü muudetud, laaditakse uuesti ====\n" +"\n" +"\n" + +msgid "Menu tree is empty" +msgstr "Menüüpuu on tühi" + +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- testi MATE'ipoolset teostust Töölauamenüü spetsifikatsioonist" + +#~ msgid "Universal access related preferences" +#~ msgstr "Universaalse ligipääsuga seotud eelistused" + +#~ msgid "Personal preferences and settings" +#~ msgstr "Isiklikud eelistused ja sätted" diff --git a/po/eu.po b/po/eu.po new file mode 100644 index 0000000..5a54c81 --- /dev/null +++ b/po/eu.po @@ -0,0 +1,269 @@ +# translation of eu.po to Basque +# This file is distributed under the same license as the mate-menus package. +# +# Mikel Olasagasti <[email protected]>, 2004, 2005. +# Iñaki Larrañaga Murgoitio <[email protected]>, 2005, 2007, 2008, 2009, 2010. +# Iñaki Larrañaga Murgoitio <[email protected]>, 2007. +msgid "" +msgstr "" +"Project-Id-Version: eu\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-08-26 18:26+0200\n" +"PO-Revision-Date: 2010-03-23 15:09+0100\n" +"Last-Translator: Iñaki Larrañaga Murgoitio <[email protected]>\n" +"Language-Team: Basque <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Multimediaren menua" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Soinua eta bideoa" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programazioa" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Softwarea garatzeko tresnak" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Hezkuntza" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Jokoak" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Jokoak eta denbora-pasak" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Irudiak" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Irudi aplikazioak" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Hardwarea" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Hainbat gailuentzako ezarpenak" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet eta sarea" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Sareko ezarpenak" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Itxura eta izaera" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Mahaigainaren itxura eta portaera kontrolatzeko ezarpenak" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Interneteko programak (web arakatzaileak eta posta bezeroak adib.)" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Bulegoa" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Bulegorako aplikazioak" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Pertsonala" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Ezarpen pertsonalak" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Sistema-konfigurazioa" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Aldatu sistema osoko ezarpenak (erabiltzaile guztiengan du eragina)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Hobespen pertsonalak" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Hobespenak" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Sistema" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Sistemaren ezarpenak" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Sistemaren tresnak" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Sistemaren konfigurazioa eta monitorizazioa" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Sarbide unibertsala" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Sarbide unibertsalaren ezarpenak" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Gehigarriak" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Mahaigainaren gehigarriak" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Aplikazioak" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Hobespen pertsonalak eta administrazio-ezarpenak" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Sailkatu ezin diren aplikazioak" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Bestelakoak" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Menu-editorea" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Editatu menuak" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Aplikazioak:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Lehenetsiak" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menuak:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Menu-editore bakuna %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Izena" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Erakutsi" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Ezin izan da etxeko direktorioa aurkitu: ez dago /etc/passwd-en ezarrita, " +"ezta ere inguruneko $HOME aldagaian" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Menu-fitxategia" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FITXATEGIA" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Menu-aldaketen monitorea" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Txertatu <Exclude> sarrerak" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Txertatu 'NoDisplay=true' sarrerak" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Mahaigaineko fitxategiaren ID baliogabea" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Fitxategi-izen baliogabea]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <baztertua>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Menua aldatua, birkargatzen ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Menuaren zuhaitza hutsik dago" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- probatu MATEren mahaigaineko menuak zehazteko inplementazioa" + diff --git a/po/fa.po b/po/fa.po new file mode 100644 index 0000000..a47c116 --- /dev/null +++ b/po/fa.po @@ -0,0 +1,272 @@ +# Persian translation of mate-menus. +# Copyright (C) 2005 Sharif FarsiWeb, Inc. +# This file is distributed under the same license as the mate-menus package. +# Farzaneh Sarafraz <[email protected]>, 2005. +# Meelad Zakaria <[email protected]>, 2005. +# Roozbeh Pournader <[email protected]>, 2005, 2008. +# Arash Mousavi <[email protected]>, 2008. +# Elnaz Sarbar <[email protected]>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-04-17 14:41+0100\n" +"PO-Revision-Date: 2008-09-18 22:48-0700\n" +"Last-Translator: Roozbeh Pournader <[email protected]>\n" +"Language-Team: Persian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "منوی چندرسانهای" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "صدا و تصویر" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "برنامهسازی" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "ابزارهای تولید نرمافزار" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "آموزش" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "بازیها" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "بازی و سرگرمی" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "گرافیک" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "برنامههای گرافیکی" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "سختافزار" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "تنظیمات دستگاههای مختلف سختافزاری" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "اینترنت و شبکه" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "تنظیمات مربوط به شبکه" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "شکل و رفتار" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "تنظیماتی که ظاهر و رفتار رومیزی را کنترل میکنند" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "اینترنت" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "برنامههایی برای دستیابی به اینترنت مثل وب و پست الکترونیکی" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "اداری" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "برنامههای اداری" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "شخصی" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "تنظیمات شخصی" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "مدیریت" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "تغییر تنظیمات کل سیستم (همهی کاربران متأثر میشوند)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "ترجیحات شخصی" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "ترجیحات" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "سیستم" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "تنظیمات سیستم" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "ابزارهای سیستم" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "پیکربندی و پایشگری سیستم" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "دسترسی همگانی" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "تنظیمات دسترسی همگانی" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "لوازم" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "لوازم رومیزی" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "برنامهها" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "ترجیحات شخصی و تنظیمات مدیریتی" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "برنامههایی که در مقولات دیگر جا نمیگیرند" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "غیره" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "ویرایشگر منو" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "ویرایش منوها" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "_برنامهها:" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "_پیشفرضها" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "_منوها:" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "نام" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "نشان دادن" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"شاخهی آغازه پیدا نمیشود: در /etc/passwd تنظیم نشده و $HOME نیز در محیط مقدار " +"ندارد" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "پروندهی منو" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "پایشگر تغییرات منو" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "شامل کردن مدخلهای <Exclude>شده" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "شامل کردن مدخلهای NoDisplay=درست" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "شناسهی نامعتبر برای پروندهی رومیزی" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[پروندهی نامعتبر]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <کنار گذاشته شده>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== منو تغییر کرد، مجدداً بارگیری میشود ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "درخت منو خالی است" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- آزمایش پیادهسازی گنوم از توصیف منوی رومیزی" + +#~ msgid "Accessibility" +#~ msgstr "دسترسیپذیری" + +#~ msgid "Desktop" +#~ msgstr "رومیزی" + +#~ msgid "Accessibility related preferences" +#~ msgstr "ترجیحات مربوط به دسترسیپذیری" diff --git a/po/fi.po b/po/fi.po new file mode 100644 index 0000000..5747de4 --- /dev/null +++ b/po/fi.po @@ -0,0 +1,282 @@ +# Finnish messages for mate-menus +# Copyright (C) 2004-2005 Free Software Foundation, Inc. +# This file is distributed under the same license as the gail package. +# Tommi Vainikainen <[email protected]>, 2004-2005. +# Ilkka Tuohela <[email protected]>, 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-07-19 10:39+0300\n" +"PO-Revision-Date: 2009-07-19 10:45+0300\n" +"Last-Translator: Ilkka Tuohela <[email protected]>\n" +"Language-Team: Finnish <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Multimediavalikko" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Ääni & video" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Ohjelmointi" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Työkaluja sovelluskehitykseen" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Opetusohjelmat" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Pelit" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Pelit ja viihde" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafiikka" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Grafiikkasovellukset" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Laitteisto" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Laitteiston asetukset" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet ja verkko" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Verkkoon liittyvät asetukset" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Ulkoasu ja käyttötuntuma" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Työpöytäympäristön ulkoasua ja toimintaa ohjaavat asetukset" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Internet-sovellukset kuten selain ja sähköposti" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Toimisto" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Toimistosovellukset" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Henkilökohtaiset" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Henkilökohtaiset asetukset" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Ylläpito" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Muuta järjestelmänlaajuisia asetuksia (vaikuttaa joka käyttäjään)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Henkilökohtaiset valinnat" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Asetukset" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Järjestelmä" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Järjestelmän asetukset" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Järjestelmätyökalut" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Järjestelmäasetukset ja -seuranta" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Esteettömyys" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Esteettömän käytön asetukset" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Apuohjelmat" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Työpöydän apuohjelmat" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Sovellukset" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Henkilökohtaiset ja järjestelmän asetukset" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Muihin luokkiin sopimattomat sovellukset" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Muut" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Valikkomuokkain" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Muokkaa valikkoja" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Sovellukset:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Oletukset" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Valikot:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Valikkomuokkain %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Nimi" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Näytä" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Kotihakemistoa ei löydy: ei asetettu tiedostossa /etc/passwd eikä $HOME " +"muuttujalla ole arvoa" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Valikkotiedosto" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Tarkkaile valikkomuutoksia" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Näytä myös piilotetut (<Exclude>) kohdat" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Näytä myös \"NoDisplay=true\"-kohdat" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Virheellinen työpöytätiedoston tunniste" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Virheellinen tiedostonimi]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr "<piilotettu>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Valikko on muuttunut, ladataan uudelleen ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Valikkopuu on tyhjä" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- testaa Maten toteutusta Työpöytävalikkojen määrittelystä" + +#~ msgid "Universal access related preferences" +#~ msgstr "Esteettömyyteen liittyvät asetukset" + +#~ msgid "Personal preferences and settings" +#~ msgstr "Henkilökohtaiset asetukset" + +#~ msgid "Accessibility" +#~ msgstr "Esteettömyys" + +#~ msgid "Accessibility Settings" +#~ msgstr "Esteettömyysasetukset" + +#~ msgid "Desktop" +#~ msgstr "Työpöytä" diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 0000000..16e1654 --- /dev/null +++ b/po/fr.po @@ -0,0 +1,274 @@ +# French translation of mate-menus. +# Copyright (C) 2004-2009 Free Software Foundation, Inc. +# This file is distributed under the same license as the mate-menu package. +# +# Baptiste Mille-Mathias <[email protected]>, 2004-2005. +# Vincent Untz <[email protected]>, 2005. +# Christophe Merlet <[email protected]>, 2005. +# Robert-André Mauchin <[email protected]>, 2007. +# Stéphane Raimbault <[email protected]>, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus.HEAD.fr\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-08-26 21:30+0200\n" +"PO-Revision-Date: 2009-08-26 21:32+0200\n" +"Last-Translator: Claude Paroz <[email protected]>\n" +"Language-Team: MATE French team <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Multimédia" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Son et vidéo" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programmation" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Les outils de développement de logiciels" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Éducation" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Jeux" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Jeux et divertissements" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Graphisme" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Applications graphiques" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Matériel" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Paramètres pour certains périphériques" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet et réseau" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Paramètres concernant le réseau" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Apparence" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Paramètres contrôlant l'apparence et le comportement du bureau" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Les programmes pour accéder à Internet tel que le Web ou la messagerie" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Bureautique" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Autres applications" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Personnel" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Paramètres personnels" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Administration" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "" +"Modifie globalement les paramètres du système (affecte tous les utilisateurs)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Préférences personnelles" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Préférences" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Système" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Paramètres système" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Outils système" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Configuration et surveillance système" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Accès universel" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Paramètres d'accès universel" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Accessoires" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Accessoires du bureau" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Applications" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Préférences personnelles et paramètres du système" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Les applications qui ne conviennent à aucune autre catégorie" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Autre" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Éditeur de menus" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Éditer les menus" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Applications :" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "Valeurs par _défaut" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menus :" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Éditeur simple de menus %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Nom" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Afficher" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Impossible de trouver le dossier personnel : il n'est pas configuré dans /" +"etc/passwd et aucune valeur pour $HOME ne se trouve dans l'environnement" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Fichier de menu" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "FICHIER_MENU" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Surveiller les changements de menu" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Inclure les entrées exclues avec <Exclude>" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Inclure les entrées NoDisplay=true" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Identifiant de fichier .desktop non valide" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Nom de fichier non valide]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <exclus>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Changement du menu, rechargement ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "L'arbre de menu est vide" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- teste l'implémentation MATE de la spécification des menus .desktop" + +#~ msgid "Personal preferences and settings" +#~ msgstr "Préférences et paramètres personnels" diff --git a/po/fur.po b/po/fur.po new file mode 100644 index 0000000..710f3ce --- /dev/null +++ b/po/fur.po @@ -0,0 +1,270 @@ +# Friulian translation of mate-menus. +# Copyright (C) 2007 Free Software Foundation, Inc. +# Massimo Furlani <[email protected]>, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-03-11 13:20+0100\n" +"PO-Revision-Date: 2008-03-10 13:15+0100\n" +"Last-Translator: Massimo Furlani <[email protected]>\n" +"Language-Team: FRIULIAN <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Friulian\n" +"X-Poedit-Country: ITALY\n" + +#: ../desktop-directories/Accessibility.directory.in.h:1 +#: ../desktop-directories/Settings-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Acess Universâl" + +#: ../desktop-directories/Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Impostazions Acess Universâl" + +#: ../desktop-directories/Accessories.directory.in.h:1 +msgid "Accessories" +msgstr "Robutis" + +#: ../desktop-directories/Accessories.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Robutis dal desktop" + +#: ../desktop-directories/Applications.directory.in.h:1 +msgid "Applications" +msgstr "Aplicazions" + +#: ../desktop-directories/Desktop.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Preferencis personâls e impostazions di aministrazion" + +#: ../desktop-directories/Desktop.directory.in.h:2 +#: ../desktop-directories/System.directory.in.h:1 +msgid "System" +msgstr "Sisteme" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programazion" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Imprescj par il svilup dal software" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Istruzion" + +#: ../desktop-directories/Games.directory.in.h:1 +msgid "Games" +msgstr "Zûcs" + +#: ../desktop-directories/Games.directory.in.h:2 +msgid "Games and amusements" +msgstr "Zûcs e golosets" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafiche" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Aplicazions di grafiche" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Hardware" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Impostazions par cetancj dispositîfs hardware" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet e Rêt" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Impostazions de rêt" + +#: ../desktop-directories/Internet.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Internet.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programs par internet come web e mail" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Aspiet e stîl" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Impostazions ch'a controlin l'aspiet e il compuartament dal desktop" + +#: ../desktop-directories/Multimedia.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Menu multimediâl" + +#: ../desktop-directories/Multimedia.directory.in.h:2 +msgid "Sound & Video" +msgstr "Audio e video" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Ufici" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Aplicazions di ufici" + +#: ../desktop-directories/Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Aplicazions ch'a no jentrin ta chês altres categoriis" + +#: ../desktop-directories/Other.directory.in.h:2 +msgid "Other" +msgstr "Altri" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Personâl" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Impostazions personâls" + +#: ../desktop-directories/Preferences.directory.in.h:1 +msgid "Personal preferences" +msgstr "Preferencis personâls" + +#: ../desktop-directories/Preferences.directory.in.h:2 +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Preferencis" + +#: ../desktop-directories/Settings-Accessibility.directory.in.h:2 +msgid "Universal access related preferences" +msgstr "Preferencis relativis a l'acess universâl" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences and settings" +msgstr "Preferencis e impostazions personâls" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Impostazions di sisteme" + +#: ../desktop-directories/System-Settings.directory.in.h:1 +msgid "Administration" +msgstr "Aministrazion" + +#: ../desktop-directories/System-Settings.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Modifiche impostazions di sisteme (par ducj i utents)" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Imprescj di sisteme" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Configurazion e monitoragjo di sisteme" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Modificadôr di menu" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "Modifiche i menu" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "_Aplicazions:" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "Pre_definidis" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "_Menu:" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123 +msgid "Name" +msgstr "Nom" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115 +msgid "Show" +msgstr "Mostre" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Impussibil cjatâ la directory home: no je impostade in /etc/passwd e la " +"variabil di ambient $HOME no a nissun valôr" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "File di menu" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "FILE_MENU" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Monitorê i gambiaments di menu" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Meti dentri lis vôs <Exclude>" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Meti dentri lis vôs NoDisplay=true" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "ID di file desktop nô valid" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Nom di file no valid]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Menu gambiât, lu torni a cjamâ ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "L'arbul dai menu al è vueit" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- test da implementazion di MATE da specifiche par i menu dal desktop" diff --git a/po/fy.po b/po/fy.po new file mode 100644 index 0000000..0223372 --- /dev/null +++ b/po/fy.po @@ -0,0 +1,269 @@ +# Frisian translation for mate-menus +# +# This file is distributed under the same license as the mate-menus package. +# Dooitze de Jong <[email protected]>, 2009-2010. +# Jaap Haitsma <[email protected]>, 2007. +# Peter Hoogsteen <[email protected] >, 2008. +# Sietse <>, 2009. +# berend <[email protected]>, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n" +"POT-Creation-Date: 2010-07-07 11:52+0000\n" +"PO-Revision-Date: 2010-07-18 00:30+0100\n" +"Last-Translator: Sense Hofstede <[email protected]>\n" +"Language-Team: Frisian <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2010-07-17 16:24+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Media" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Lûd en Fideo" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programmeare" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Programma's foar it untwikkelje fan programma's" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Edukaasje" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Spultsjes" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Spultsjes en Ferdiverdaasje" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafysk" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Grafyske programma's" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Hardware" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Ynstellings foar ferskillende hardware apparaten" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Ynternet en Netwurk" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Netwurk-relativearre ynstellings" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Uterlik" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Ynstellingen foar it gedrach en it uterlik fan it bureaublêd" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Ynternet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programma's foar Ynternet tagong sa as web en ynternet post" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Kantoar" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Kantoar programma's" + +#. Translators: this is Personal as in "Personal settings" +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal" +msgstr "Persoanlik" + +#: ../desktop-directories/Personal.directory.in.h:3 +msgid "Personal settings" +msgstr "Persoanlike Ynstellingen" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Administraasje" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Systeem-wide ynstellingen (alle brûkers)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Persoanlike foarkarren" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Ynstellingen" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Systeem" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Systeem Ynstellingen" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Systeem Tapassingen" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Systeem konfiguraasje en kontrolearje" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Algemiene Tagong" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Algemiene Tagong Ynstellingen" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Assesoires" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Bureaublêd assesoires" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Programma's" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Persoanlike foarkarren en administraasje ynstellings" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Applicaties die net yn oare categorien passe" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Oare programma's" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Menu Bewurker" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Bewurkje Menus" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Programma's:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Standaardynstellingen" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menu's:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Simpele Menu Bewurker %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Namme" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Toane" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment" +msgstr "Kin persoanlike map net fine: net ynsteld yn /etc/passwd en gjin wearde foar $HOME yn de omjouwing" + +#~ msgid "Action" +#~ msgstr "Aksje" +#~ msgid "Action games" +#~ msgstr "Aksje spultsjes" +#~ msgid "Adventure" +#~ msgstr "Aventoer" +#~ msgid "Adventure style games" +#~ msgstr "Aventoere Spultsjes" +#~ msgid "Arcade" +#~ msgstr "Arkade" +#~ msgid "Arcade style games" +#~ msgstr "Arkade spultsjes" +#~ msgid "Falling blocks" +#~ msgstr "Fallende blokjes" +#~ msgid "Falling blocks games" +#~ msgstr "Fallende blokjes spultsjes" +#~ msgid "Board" +#~ msgstr "Boerd" +#~ msgid "Board games" +#~ msgstr "Boerd spultsjes" +#~ msgid "Card games" +#~ msgstr "Kaart spultsjes" +#~ msgid "Cards" +#~ msgstr "Kaarten" +#~ msgid "Debian" +#~ msgstr "Debian" +#~ msgid "The Debian menu" +#~ msgstr "It Debian menu" +#~ msgid "Science" +#~ msgstr "Wittenskip" +#~ msgid "Scientific applications" +#~ msgstr "Wittenskiplike programma's" +#~ msgid "Games for kids" +#~ msgstr "Bernespultsjes" +#~ msgid "Kids" +#~ msgstr "Bern" +#~ msgid "Logic" +#~ msgstr "Logika" +#~ msgid "Logic and puzzle games" +#~ msgstr "Logika en puzzel spultsjes" +#~ msgid "Role playing" +#~ msgstr "Rollen spyljen" +#~ msgid "Role playing games" +#~ msgstr "Rollespultsjes" +#~ msgid "Simulation" +#~ msgstr "Simulaasje" +#~ msgid "Simulation games" +#~ msgstr "Simulaasje spultsjes" +#~ msgid "Sports" +#~ msgstr "Sport" +#~ msgid "Sports games" +#~ msgstr "Sport spultsjes" +#~ msgid "Strategy" +#~ msgstr "Strategy" +#~ msgid "Strategy games" +#~ msgstr "Strategyske spultsjes" + diff --git a/po/ga.po b/po/ga.po new file mode 100644 index 0000000..7664237 --- /dev/null +++ b/po/ga.po @@ -0,0 +1,267 @@ +# Irish translations for mate-menus package. +# Copyright (C) 2007-2008 Free Software Foundation, Inc. +# This file is distributed under the same license as the mate-menus package. +# Seán de Búrca <[email protected]>, 2007-2009. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-07-29 17:44-0600\n" +"PO-Revision-Date: 2009-07-29 17:44-0600\n" +"Last-Translator: Seán de Búrca <[email protected]>\n" +"Language-Team: Irish <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : (n%10==1 || n%10==2) ? 1 : (n%" +"10>=3 && n%10<= 6) ? 2 : ((n%10>=7 && n%10<=9) || n==10) ? 3 : 4;\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Roghchlár ilmheán" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Fuaim & Fís" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Ríomhchlárú" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Uirlisí d'fhorbairt bogearraí" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Oideachas" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Cluichí" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Cluichí agus siamsaíochtaí" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafaic" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Feidhmchláir grafaice" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Crua-Earraí" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Socruithe do roinnt ghléasanna crua-earraí" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Idirlíon agus Líonra" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Socruithe líonra-gaolta" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Cuma agus Mothú" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Socruithe ag rialú cuma agus oibrithe na deisce" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Idirlíon" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Feidhmchláir do rochtain an Idirlín mar ghréasán agus ríomhphost" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Oifig" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Feidhmchláir Oifige" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Pearsanta" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Socruithe pearsanta" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Riarachán" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Athraigh socruithe ar fud an chórais (tionchar ar gach úsáideoir)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Sainroghanna pearsanta" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Sainroghanna" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Córas" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Socruithe an chórais" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Uirlisí Córais" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Cumraíocht agus monatóireacht an chórais" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Rochtain Uilíoch" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Socruithe Rochtana Uilíoch" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Oiriúintí" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Oiriúintí deisce" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Feidhmchláir" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Sainroghanna pearsanta agus socruithe riaracháin" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Feidhmchláir nár oiriúnaigh i gcatagóirí eile" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Eile" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Eagarthóir na Roghchlár" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Cuir Roghchláir in Eagar" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Feidhmchláir:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "Réamh_shocruithe" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Roghchláir:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Eagarthóir na Roghchlár Simplí %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Ainm" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Taispeáin" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Ní féidir comhadlann bhaile a aimsiú: níl sí socraithe i /etc/passwd agus " +"níl luach ann do $HOME sa timpealleacht" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Comhad roghchláir" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "COMHAD_ROGHCHLÁIR" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Déan monatóireacht ar athruithe roghchlár" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Cuir iontrálacha <Exclude>áilte san áireamh" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Cuir iontrálacha NoDisplay=true san áireamh" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "CA chomhaid deisce neamhbhailí" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Ainm Comhaid Neamhbhailí]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr "<eisiata>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Athraíodh an roghchlár, á athluchtú ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Tá an crann roghchlár folamh" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- tastáil feidhmiú MATE den tSonraíocht Roghchláir Deisce" diff --git a/po/gl.po b/po/gl.po new file mode 100644 index 0000000..7680f8f --- /dev/null +++ b/po/gl.po @@ -0,0 +1,272 @@ +# translation of gl.po to Galego +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) 2010 Fran Diéguez. +# +# Ignacio Casal Quinteiro <[email protected]>, 2005. +# Ignacio Casal Quinteiro <[email protected]>, 2007,2009. +# Mancomún - Centro de Referencia e Servizos de Software Libre <[email protected]>, 2009. +# Suso Baleato <[email protected]>,2009. +# Fran Dieguez <[email protected]>, 2009. +# Anton Meixome <[email protected]>, 2009. +# Fran Diéguez <[email protected]>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: gl\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-07-20 11:18+0200\n" +"PO-Revision-Date: 2010-07-20 11:18+0200\n" +"Last-Translator: Fran Diéguez <[email protected]>\n" +"Language-Team: Galician <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 0.2\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Multimedia" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Son e vídeo" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programación" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Ferramentas para o desenvolvemento de software" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Educación" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Xogos" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Xogos e pasatempos" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Gráficos" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Aplicativos gráficos" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Hardware" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Configuracións para varios dispositivos de hardware" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet e redes" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Configuracións relacionadas coa rede" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Aparencia" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Axustes que controlan a aparencia e o comportamento do escritorio" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programas para o acceso á Internet como a web e o correo electrónico" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Ofimática" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Aplicativos de oficina" + +#. Translators: this is Personal as in "Personal settings" +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal" +msgstr "Persoal" + +#: ../desktop-directories/Personal.directory.in.h:3 +msgid "Personal settings" +msgstr "Configuracións persoais" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Administración" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "" +"Cambiar as configuracións globais do sistema (afecta a todos os usuarios)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Preferencias persoais" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Preferencias" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Sistema" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Configuracións do sistema" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Ferramentas do sistema" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Configuración e monitorización do sistema" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Acceso universal" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Configuracións de acceso universal" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Accesorios" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Accesorios do escritorio" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Aplicativos" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Preferencias persoais e configuracións de administración" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Aplicativos que non se axustan a outras categorías" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Outras" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Editor do menú" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Editar os menús" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Aplicativos:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Predefinidos" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menús:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Editor sinxelo de menú %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Nome" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Mostrar" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Non foi posíbel encontrar o directorio persoal: non está estabelecido en /" +"etc/passwd e non hai ningún valor para $HOME no contorno" + +#~ msgid "Menu file" +#~ msgstr "Ficheiro de menú" + +#~ msgid "MENU_FILE" +#~ msgstr "FICHEIRO_MENÚ" + +#~ msgid "Monitor for menu changes" +#~ msgstr "Monitorizar os cambios no menú" + +#~ msgid "Include <Exclude>d entries" +#~ msgstr "Incluír entradas <Exclude>" + +#~ msgid "Include NoDisplay=true entries" +#~ msgstr "Incluír entradas NoDisplay=true" + +#~ msgid "Invalid desktop file ID" +#~ msgstr "O ID do ficheiro de escritorio é incorrecto" + +#~ msgid "[Invalid Filename]" +#~ msgstr "[Nome de ficheiro incorrecto]" + +#~ msgid " <excluded>" +#~ msgstr " <excluded>" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "==== Menu changed, reloading ====\n" +#~ "\n" +#~ "\n" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "==== Modificouse o menú; recargando ====\n" +#~ "\n" +#~ "\n" + +#~ msgid "Menu tree is empty" +#~ msgstr "A árbore de menú está baleira" + +#~ msgid "- test MATE's implementation of the Desktop Menu Specification" +#~ msgstr "" +#~ "- probar a implementación da Especificación de menú de escritorio de MATE" + +#~ msgid "Universal access related preferences" +#~ msgstr "Preferencias relacionadas co acceso universal" + +#~ msgid "Personal preferences and settings" +#~ msgstr "Preferencias e configuracións persoais" diff --git a/po/gn.po b/po/gn.po new file mode 100644 index 0000000..94b55f5 --- /dev/null +++ b/po/gn.po @@ -0,0 +1,218 @@ +# Brazilian Guarani translation of mate-menus. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the mate-menus package. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-11-01 21:12+0100\n" +"PO-Revision-Date: 2006-04-25 10:14-0300\n" +"Last-Translator: Boca <[email protected]>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/Accessibility.directory.in.h:1 +#: ../desktop-directories/Settings-Accessibility.directory.in.h:1 +msgid "Accessibility" +msgstr "Omboparaa Regua" + +#: ../desktop-directories/Accessibility.directory.in.h:2 +msgid "Accessibility Settings" +msgstr "Omboporaa Rerowa Rowaa" + +#: ../desktop-directories/Accessories.directory.in.h:1 +msgid "Accessories" +msgstr "Nhamba'eapoa Pygua" + +#: ../desktop-directories/Accessories.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Nhamba'eapoa Regua" + +#: ../desktop-directories/Applications.directory.in.h:1 +msgid "Applications" +msgstr "Enhepynru Apy" + +#: ../desktop-directories/Desktop.directory.in.h:1 +msgid "Desktop" +msgstr "Nhamba'eapoa" + +#: ../desktop-directories/Desktop.directory.in.h:2 +msgid "Personal preferences and administration settings" +msgstr "Mba'emon Nhamoia" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Jaja Poa" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Jaja Poa" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Arandu" + +#: ../desktop-directories/Games.directory.in.h:1 +msgid "Games" +msgstr "Jaugaa" + +#: ../desktop-directories/Games.directory.in.h:2 +msgid "Games and amusements" +msgstr "Jaugaty" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Baemo Ra'angaa Jajapoa" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Baemo Ra'angaa Jajapoa Oia" + +#: ../desktop-directories/Internet.directory.in.h:1 +msgid "Internet" +msgstr "Kya" + +#: ../desktop-directories/Internet.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Kya Py Reike Awã Regua" + +#: ../desktop-directories/Multimedia.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Baemo Jaexaa, Nhaendua" + +#: ../desktop-directories/Multimedia.directory.in.h:2 +msgid "Sound & Video" +msgstr "Jaexaa, Porai Nhaendua" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Nhamboparaa Regua" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Jaekaa Omboparaa" + +#: ../desktop-directories/Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Amboae Regua Jaekaa" + +#: ../desktop-directories/Other.directory.in.h:2 +msgid "Other" +msgstr "Amboae" + +#: ../desktop-directories/Preferences.directory.in.h:1 +msgid "Personal preferences" +msgstr "Rowapy Jarowa Rowaa" + +#: ../desktop-directories/Preferences.directory.in.h:2 +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Maranmi Reipota" + +#: ../desktop-directories/Settings-Accessibility.directory.in.h:2 +msgid "Accessibility related preferences" +msgstr "Preferências relativas à acessibilidade" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences and settings" +msgstr "Preferências e configurações pessoais" + +#: ../desktop-directories/System-Settings.directory.in.h:1 +msgid "Administration" +msgstr "Nhambotea Regua" + +#: ../desktop-directories/System-Settings.directory.in.h:2 +msgid "Change systemwide settings (affects all users)" +msgstr "" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "_Enhepynru Apy:" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "_Eka Apy:" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123 +msgid "Name" +msgstr "Derery" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115 +msgid "Show" +msgstr "Oexaukaa" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44 +msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment" +msgstr "" + +#: ../util/test-menu-spec.c:32 +msgid "Menu file" +msgstr "Oekaa Regua Omoin Porãa" + +#: ../util/test-menu-spec.c:32 +msgid "MENU_FILE" +msgstr "OEKAA REGUA OMOIN PORÃA" + +#: ../util/test-menu-spec.c:33 +msgid "Monitor for menu changes" +msgstr "" + +#: ../util/test-menu-spec.c:34 +msgid "Include <Exclude>d entries" +msgstr "" + +#: ../util/test-menu-spec.c:89 +msgid "Invalid desktop file ID" +msgstr "" + +#: ../util/test-menu-spec.c:90 +msgid "[Invalid Filename]" +msgstr "" + +#: ../util/test-menu-spec.c:91 +msgid " <excluded>" +msgstr "" + +#: ../util/test-menu-spec.c:162 +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" + +#: ../util/test-menu-spec.c:167 +#: ../util/test-menu-spec.c:203 +msgid "Menu tree is empty" +msgstr "" + +#: ../util/test-menu-spec.c:186 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "" + diff --git a/po/gu.po b/po/gu.po new file mode 100644 index 0000000..1df97ac --- /dev/null +++ b/po/gu.po @@ -0,0 +1,270 @@ +# translation of mate-menus.master.gu.po to Gujarati +# Ankit Patel <[email protected]>, 2007. +# Ankit Patel <[email protected]>, 2007. +# Sweta Kothari <[email protected]>, 2009. +msgid "" +msgstr "" +"Project-Id-Version: mate-menus.master.gu\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n" +"POT-Creation-Date: 2009-07-19 07:40+0000\n" +"PO-Revision-Date: 2009-08-24 15:37+0530\n" +"Last-Translator: Sweta Kothari <[email protected]>\n" +"Language-Team: Gujarati\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"\n" +"\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "મલ્ટીમીડિયા મેનુ" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "સાઉન્ડ & વીડિયો" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "પ્રોગ્રામીંગ" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "સોફ્ટવેર વિકાસ સાધનો" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "શિક્ષણ" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "રમતો" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "રમતો અને મનોરંજકો" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "ગ્રાફિક્સ" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "ગ્રાફિક્સ કાર્યક્રમો" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "હાર્ડવેર" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "ઘણા હાર્ડવેર ઉપકરણો માટે સુયોજનો" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "ઈન્ટરનેટ અને નેટવર્ક" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "નેટવર્ક-સંબંધિત સુયોજનો" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "દેખાવ અને વર્તણૂક" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "ડેસ્કટોપ દેખાવ અને વર્તણૂક સંભાળી રહેલ સુયોજનો" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "ઈન્ટરનેટ" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "વેબ અને ઈમેઈલ જેવા ઈન્ટરનેટ વપરાશ માટેના કાર્યક્રમો" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "ઓફિસ" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "ઓફિસ કાર્યક્રમો" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "વ્યક્તિગત" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "વ્યક્તિગત સુયોજનો" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "સંચાલન" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "સિસ્ટમ-લગતા સુયોજનો બદલો (બધા વપરાશકર્તાઓને અસર કરશે)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "ખાનગી પસંદગીઓ" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "પસંદગીઓ" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "સિસ્ટમ" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "સિસ્ટમ સુયોજનો" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "સિસ્ટમ સાધનો" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "સિસ્ટમ રૂપરેખાંકન અને મોનિટરીંગ" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "સાર્વત્રિક વપરાશ" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "સાર્વત્રિક વપરાશ સુયોજનો" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "સહાયક કાર્યક્રમો" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "ડેસ્કટોપ સહાયક કાર્યક્રમો" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "કાર્યક્રમો" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "ખાનગી પસંદગીઓ અને સંચાલન સુયોજનો" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "કાર્યક્રમો કે જે અન્ય વર્ગોમાં નહિં બંધબેસે" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "અન્ય" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "મેનુ સંપાદક" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "ફેરફાર મેનુઓ" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "કાર્યક્રમો (_A):" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "મૂળભુતો (_D)" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "મેનુઓ (_M):" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +#| msgid "Menu Editor" +msgid "Simple Menu Editor %s" +msgstr "સાદુ મેનુ સંપાદક %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "નામ" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "બતાવો" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"ઘર ડિરેક્ટરી શોધી શકતા નથી: /etc/passwd માં સુયોજિત નથી અને પર્યાવરણમાં $HOME માટે " +"કોઈ કિંમત નથી" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "મેનુ ફાઈલ" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "મેનુ ફેરફારો માટે મોનીટર" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "<Exclude>d પ્રવેશો સમાવો" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "NoDisplay=true પ્રવેશો સમાવો" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "ડેસ્કટોપ ફાઈલ ID અયોગ્ય છે" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[અયોગ્ય ફાઈલનામ]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== મેનુ બદલાઈ ગયેલ છે, પુનઃલોડ કરી રહ્યા છીએ ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "મેનુ વૃક્ષ ખાલી છે" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- ચકાસણી જીનોમના ડેસ્કટોપ મેનુ સ્પષ્ટીકરણોનું અમલીકરણ" + diff --git a/po/gv.po b/po/gv.po new file mode 100644 index 0000000..d1f318e --- /dev/null +++ b/po/gv.po @@ -0,0 +1,279 @@ +# Manx translation for mate-menus +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the mate-menus package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n" +"POT-Creation-Date: 2010-07-02 11:40+0000\n" +"PO-Revision-Date: 2010-07-07 13:02+0100\n" +"Last-Translator: Reuben Potts <[email protected]>\n" +"Language-Team: Manx <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2010-07-07 10:48+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Sheean & feeshan" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Ynsagh" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Gammanyn" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Gammanyn as gaihyn" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Graafaghyn" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Claaghyn graafagh" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Yiarnrey" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Eddyr-voggyl as toilley reddyn" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Reighyn son eddyrvoagle as toilley reddyn" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Jeaghyn as" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Reighyn mychoine yn aght ta'n Desktop jeaghyn as yn ymmyrkey." + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Eddyr-voggyl" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Claaghyn son yn eddyrvoagle gorrish email as yn eddyr-voggyl" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Oik" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Claaghyn Oik" + +#. Translators: this is Personal as in "Personal settings" +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal" +msgstr "Persoonagh" + +#: ../desktop-directories/Personal.directory.in.h:3 +msgid "Personal settings" +msgstr "Reighyn persoonagh" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Reirey" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Reighyn Persoonagh ed" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Reighyn ed's" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "System" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Reighyn System" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Claaghyn system" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Caghlaaghyn System as" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Claaghyn" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Claaghyn" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Reighyn persoonagh as Reighyn reirey" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Cha row yn claaghyn goll stiagh ayns" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Elley" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Caghlaaghyn Menu" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Caghlaa yn menu" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Claaghyn:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menu:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Caghlaaredey menu aashagh %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Ennym" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Soilshaghey" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment" +msgstr "" + +#~ msgid "Action" +#~ msgstr "Caggeeaght" + +#~ msgid "Action games" +#~ msgstr "Gammanyn caggeeaght" + +#~ msgid "Adventure" +#~ msgstr "Contortys" + +#~ msgid "Adventure style games" +#~ msgstr "Contortys gammanyn" + +#~ msgid "Arcade" +#~ msgstr "Arcaid" + +#~ msgid "Arcade style games" +#~ msgstr "Gammanyn Arcaid" + +#~ msgid "Falling blocks" +#~ msgstr "Blockyn tuittym" + +#~ msgid "Board" +#~ msgstr "Claare" + +#~ msgid "Board games" +#~ msgstr "Gammanyn claare" + +#~ msgid "Card games" +#~ msgstr "Gammanyn caart" + +#~ msgid "Cards" +#~ msgstr "Caartyn" + +#~ msgid "Debian" +#~ msgstr "Debian" + +#~ msgid "Science" +#~ msgstr "Sheanse" + +#~ msgid "Scientific applications" +#~ msgstr "Claaghyn sheanse" + +#~ msgid "Games for kids" +#~ msgstr "Gammanyn son paitchyn" + +#~ msgid "Kids" +#~ msgstr "Paitchyn" + +#~ msgid "Logic" +#~ msgstr "Resoon" + +#~ msgid "Logic and puzzle games" +#~ msgstr "Resoon as crampysyn" + +#~ msgid "Role playing" +#~ msgstr "Cloie paart" + +#~ msgid "Role playing games" +#~ msgstr "Gammanyn cloie paart" + +#~ msgid "Sports" +#~ msgstr "Spoyrt" + +#~ msgid "Sports games" +#~ msgstr "Gammanyn Spoyrt" + +#~ msgid "Strategy" +#~ msgstr "Strateysh" + +#~ msgid "Strategy games" +#~ msgstr "Gammanyn Strateysh" diff --git a/po/ha.po b/po/ha.po new file mode 100644 index 0000000..34b9485 --- /dev/null +++ b/po/ha.po @@ -0,0 +1,272 @@ +msgid "" +msgstr "" +"Project-Id-Version: mate-menus.mate-2-12\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-" +"menus&component=general\n" +"POT-Creation-Date: 2009-01-01 18:52+0000\n" +"PO-Revision-Date: 2006-04-05 12:17+0100\n" +"Last-Translator: \n" +"Language-Team: <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.10\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Mazaɓen masilimanta" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Sauti & Bidiyo" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Yin Shirin Aiki" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Kayan aiki na ci-gaban masarrafin kwamfyuta" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Ilimi" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Wasanni" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Wasanni da kayan da da dariya" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Zane-Zane" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Shiryoyin ayukan zane-zane" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Intanet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Shiryoyi na samun hanyar Intanet zuwa wurare kamar yana da e-meli" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Ofis" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Shiryoyin Ayukan Ofis" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "" + +#: ../desktop-directories/Personal.directory.in.h:2 +#, fuzzy +msgid "Personal settings" +msgstr "Fifiko da kewayen ka" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Hukuma" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +#, fuzzy +msgid "Change system-wide settings (affects all users)" +msgstr "Canza kayan daidaita na'ura (zai shafi duk masu amfani da shi)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Fifiko na Kanka" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Fifiko" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +#, fuzzy +msgid "System" +msgstr "Kayan Aikin Na'ura" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Kayan Aikin Na'ura" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Canza tsari da kulawan na'ura" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +#, fuzzy +msgid "Universal Access Settings" +msgstr "Kayan Daidaita Fasahan Mataimakin Naƙasan Mutum" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Aksesori" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Aksesori na Kwamfyutan Tebur" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Shiryoyin Ayuka" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Kayan daidaita fifkonka da hukumanka" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Shiryoyin Ayuka waɗanda basu dace cikin wasu jinsi ba" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Waccan" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Editar Mazaɓa" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "Mazaɓen Shiryawa" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "Shiryoyin Ayukan_:" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "Difwalt na_" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "Mazaɓen_:" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Suna" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Nuna" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Ana kasa gano gafakan gida: ba ya cikin/etc/makulli kuma babu kima wa $GIDA " +"cikin muhalli" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Fayil ɗin mazaɓa" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "FAYIL ƊIN_MAZAƁA" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Ka kula wa canje-canjen mazaɓa" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Haɗa da <Fid da> bayanen da aka shigar" + +#: ../util/test-menu-spec.c:36 +#, fuzzy +msgid "Include NoDisplay=true entries" +msgstr "Haɗa da <Fid da> bayanen da aka shigar" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Shaidar fayil na kwamfyutan tebur mai maras inganci" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Sunafayil Mai Maras Inganci]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <fid da>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== An canza mazaɓa, ana sake lodi ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Babu komai cikin bishiyar mazaɓa" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "" +"- jarraba yanda MATE ke aiwatar da Cikakken Bayani na Mazaɓen Kwamfyutan " +"Tebur" + +#~ msgid "Accessibility" +#~ msgstr "Fasahan Mataimakin Naƙasan Mutum" + +#~ msgid "Accessibility related preferences" +#~ msgstr "Fifiko da suka danganta da fasahan mataimaki naƙasan mutum" + +#~ msgid "Desktop" +#~ msgstr "Kwamfyutan Tebur" diff --git a/po/he.po b/po/he.po new file mode 100644 index 0000000..36d7dfb --- /dev/null +++ b/po/he.po @@ -0,0 +1,276 @@ +# translation of mate-menus.mate-2-10.po to Hebrew +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# Yuval Tanny <[email protected]>, 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus.mate-2-10\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n" +"POT-Creation-Date: 2009-06-21 17:35+0000\n" +"PO-Revision-Date: 2009-07-04 22:37+0200\n" +"Last-Translator: Yaron Shahrabani <[email protected]>\n" +"Language-Team: <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.9.1\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "תפריט מולטימדיה" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "צליל ווידאו" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "תכנות" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "כלים לפיתוח תוכנה" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "לימוד" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "משחקים" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "משחקים ושעשועים" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "גרפיקה" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "יישומים גרפיים" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "חומרה" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "הגדרות עבור מספר התקני חומרה" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "אינטרט ורשת" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "הגדרות רשת" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "מראה ומרגש" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "הגדרות לשליטה במראה והתנהגות שולחן העבודה" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "אינטרנט" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "תוכנות לגישה לאינטרנט כגון דפדפן ולקוח דואר" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "משרד" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "יישומים משרדיים" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "אישי" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "הגדרות אישיות" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "ניהול" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "שנה הגדרות מערכת כלליות (משפיע על כל המשתמשים)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "העדפות אישיות" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "העדפות" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "מערכת" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "הגדרות מערכת" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "כלי מערכת" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "הגדרה וניטור של המערכת" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "גישה אוניברסלית" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "הגדרות גישה אוניברסלית" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "עזרים" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "עזרי שולחן עבודה" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "יישומים" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "העדפות אישיות והגדרות ניהול" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "יישומים שלא התאימו בקטגוריות אחרות" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "אחר" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "עורך תפריטים" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "ערוך תפריטים" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_יישומים:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_ברירות מחדל" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_תפריטים:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +#| msgid "Menu Editor" +msgid "Simple Menu Editor %s" +msgstr "עורך תפריטים פשוט %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "שם" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "הצג" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment" +msgstr "לא ניתן למצוא את תיקיית הבית: לא נקבע ב- etc/passwd/ ולא קיים ערך עבור HOME$ בסביבה" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Menu file" + +# msgstr "קובץ תפריט" +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Monitor for menu changes" + +# msgstr "פקח על שינויים בתפריט" +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Include <Exclude>d entries" + +# msgstr "פקח על שינויים בתפריט" +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Include NoDisplay=true entries" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "מזהה קובץ שולחן עבודה לא תקין" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Invalid Filename]" + +# msgstr "[שם קובץ לא תקין]" +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" + +# "\n" +# "\n" +# "\n" +# "==== התפריט השתנה, טוען מחדש ====\n" +# "\n" +# "\n" +#: ../util/test-menu-spec.c:169 +#: ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Menu tree is empty" + +# msgstr "עץ התפריט ריק" +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- test MATE's implementation of the Desktop Menu Specification" + diff --git a/po/hi.po b/po/hi.po new file mode 100644 index 0000000..391ffa4 --- /dev/null +++ b/po/hi.po @@ -0,0 +1,277 @@ +# translation of mate-menus.master.po to Hindi +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# Amanpreet Singh Alam <[email protected]>, 2004. +# Rajesh Ranjan <[email protected]>, 2005, 2006, 2008, 2009. +# Rajesh Ranjan <[email protected]>, 2009. +msgid "" +msgstr "" +"Project-Id-Version: mate-menus.master\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n" +"POT-Creation-Date: 2009-06-21 17:35+0000\n" +"PO-Revision-Date: 2009-09-16 13:46+0530\n" +"Last-Translator: Rajesh Ranjan <[email protected]>\n" +"Language-Team: Hindi <hindi.sf.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "मल्टीमीडिया मेनू" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "ध्वनि व वीडियो" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "प्रोग्रामिंग" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "सॉफ्टवेयर विकास के औज़ार" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "शिक्षा" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "खेल" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "खेल व मनोरंजन" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "चित्रादि" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "चित्रादि अनुप्रयोग" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "हार्डवेयर" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "कई हार्डवेयर युक्तियों के लिए सेटिंग" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "इंटरनेट व संजाल" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "संजाल संबंधित सेटिंग" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "रूप-रंग" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "डेस्कटॉप रूपाकार व व्यवहार का नियंत्रण करने वाले सेटिंग" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "इंटरनेट" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "इंटरनेट पहुँच के लिए वेब व ईमेल जैसे प्रोग्राम" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "कार्यालय" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "कार्यालय अनुप्रयोग" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "निजी" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "निजी सेटिंग" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "प्रशासन" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "तंत्र स्तरीय सेटिंग बदलें (सभी उपयोक्ता प्रभावित होते हैं)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "निजी वरीयता" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "वरीयता" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "तंत्र" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "तंत्र सेटिंग" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "तंत्र औज़ार" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "तंत्र विन्यास व निरीक्षण" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "सार्वभौमिक पहुँच" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "सार्वभौमिक पहुँच सेटिंग" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "उपसाधन" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "डेस्कटॉप उपसाधन" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "अनुप्रयोग" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "निजी वरीयता व प्रशासन सेटिंग" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "अनुप्रयोग जो अन्य श्रेणी में सटीक नहीं बैठा" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "अन्य" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "मेन्यू संपादक" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "मेन्यू संपादित करें" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "अनुप्रयोग (_A)" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "तयशुदा (_D)" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "मेन्यू (_M):" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +#| msgid "Menu Editor" +msgid "Simple Menu Editor %s" +msgstr "सरल मेन्यू संपादक %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "नाम" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "दिखाएँ" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"घर निर्देशिका नहीं पा सकता है: /etc/passwd में सेट नहीं है और $HOME के लिये वातावरण में " +"कोई मान नहीं है" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "मेन्यू फ़ाइल" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "मेन्यू परिवर्तन के लिए मॉनिटर" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "<निकाली> गई प्रविष्टि शामिल करें" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "NoDisplay=true प्रविष्टि शामिल करें" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "अवैध डेस्कटॉप फ़ाइल आईडी" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[अवैध फ़ाइलनाम]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <निकाली गई>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== मेन्यू परिवर्तित, फिर लोड कर रहा है ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "मेन्यू तरू रिक्त है" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- डेस्कटॉप मेन्यू विनिर्दिष्टता के ग्नोम कार्यान्वयन की जाँच करें" + diff --git a/po/hr.po b/po/hr.po new file mode 100644 index 0000000..62cc4df --- /dev/null +++ b/po/hr.po @@ -0,0 +1,271 @@ +# Croatian translation for mate-menus +# Copyright (c) (c) 2005 Canonical Ltd, and Rosetta Contributors 2005 +# This file is distributed under the same license as the mate-menus package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2005. +# Translators: Krešo Kunjas <[email protected]> +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-08 12:08+0200\n" +"PO-Revision-Date: 2007-08-05 11:44+0000\n" +"Last-Translator: Krešo Kunjas <[email protected]>\n" +"Language-Team: Croatian <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Launchpad-Export-Date: 2008-05-28 07:48+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Multimedijski izbornik" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Zvuk i video" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programiranje" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Alati za izradu softvera" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Edukacija" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Igre" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Igre i zabava" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafika" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Grafički programi" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Hardver" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Postavke za nekoliko hardverskih uređaja" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet i mreža" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Mrežne postavke" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Izgled" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Postavke za upravljanje izgledom i ponašanjem desktopa" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programi za pristup Internetu, poput weba ili elektroničke pošte" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Ured" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Uredski alati" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Osobno" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Osobne postavke" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Administracija" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Izmjeni postavke za cijeli sustav (utječe na sve korisnike)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Osobne postavke" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Postavke" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Sustav" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Postavke sustava" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Alati sustava" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Konfiguracija i nadgledanje sustava" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Univerzalni pristup" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Postavke univerzalnog pristupa" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Pomagala" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Pomagala radne površine" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Programi" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Osobne postavke i administracijske postavke" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Programi koji ne pristaju u druge kategorije" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Ostalo" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Uređivač izbornika" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "Uredite izbornike" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "_Programi:" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "_Uobičajeno" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "_Izbornici:" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Ime" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Prikaži" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Ne mogu pronaći osobni direktorij; nije naveden u /etc/passwd i ne postoji " +"vrijednost $HOME u trenutnom okružju" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Datoteka izbornika" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Nadgledaj promjene izbornika" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Uključi <isključen>e stavke" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Uključi NoDisplay=true unose" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Krivi ID desktop datoteke" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Krivo ime datoteke]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <isključen>" + +#: ../util/test-menu-spec.c:164 +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"= Izbornik promijenjen, osvježavam =\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Stablo izbornika je prazno" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "" +"- testiraj MATEovu implementaciju specifikacije za izbornike na radnoj " +"površini" + +#~ msgid "Universal access related preferences" +#~ msgstr "Postavke vezane uz univerzalni pristup" + +#~ msgid "Personal preferences and settings" +#~ msgstr "Osobne postavke i podešenja" diff --git a/po/hu.po b/po/hu.po new file mode 100644 index 0000000..a2c7b02 --- /dev/null +++ b/po/hu.po @@ -0,0 +1,268 @@ +# Hungarian translation of mate-menus. +# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc. +# This file is distributed under the same license as the mate-menus package. +# +# Gabor Kelemen <kelemeng at mate dot hu>, 2004, 2005, 2006, 2007, 2008, 2009. +# Laszlo Dvornik <dvornik at mate dot hu>, 2005. +msgid "" +msgstr "" +"Project-Id-Version: mate-menus master\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-07 02:30+0200\n" +"PO-Revision-Date: 2009-09-07 02:30+0200\n" +"Last-Translator: Gabor Kelemen <kelemeng at mate dot hu>\n" +"Language-Team: Hungarian <mate at fsf dot hu>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Multimédia menü" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Hang és videó" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Fejlesztés" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Szoftverfejlesztési eszközök" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Oktatás" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Játékok" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Játék és szórakozás" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafika" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Grafikai alkalmazások" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Hardver" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Különböző hardvereszközök beállításai" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet és hálózat" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Hálózattal kapcsolatos beállítások" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Megjelenés" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Az asztal megjelenését és viselkedését vezérlő beállítások" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programok az internet használatához (pl. web és e-mail)" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Iroda" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Irodai alkalmazások" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Személyes" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Személyes beállítások" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Adminisztráció" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Rendszerszintű beállítások módosítása (minden felhasználóra kihat)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Személyes beállítások" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Beállítások" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Rendszer" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Rendszerbeállítások" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Rendszereszközök" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Rendszerbeállítás és megfigyelés" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Akadálymentesítés" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Akadálymentesítés beállításai" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Kellékek" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Asztali kellékek" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Alkalmazások" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Személyes és adminisztrációs beállítások" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Más kategóriákba be nem sorolható alkalmazások" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Egyéb" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Menüszerkesztő" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Menük szerkesztése" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Alkalmazások:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "Ala_pértelmezések" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menük:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Egyszerű menüszerkesztő %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Név" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Megjelenítés" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Nem található a saját könyvtár: nincs beállítva az /etc/passwd fájlban és a " +"$HOME környezeti változónak nincs értéke" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Menüfájl" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENÜ_FÁJL" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Menüváltozások figyelése" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "<Kihagyott> bejegyzések bevétele" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "A NoDisplay=true bejegyzések felvétele" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Érvénytelen desktop fájl azonosító" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Érvénytelen fájlnév]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <kihagyott>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== A menü megváltozott, újratöltés ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "A menüfa üres" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "– Az Asztali Menü Specifikáció MATE megvalósításának tesztelése" diff --git a/po/hy.po b/po/hy.po new file mode 100644 index 0000000..e8af56c --- /dev/null +++ b/po/hy.po @@ -0,0 +1,266 @@ +# translation of mate-menus.HEAD.po to armenian +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER, 2005. +# Ruzanna Khachatryan <[email protected]> +# Norayr Chilingaryan <[email protected]> +msgid "" +msgstr "" +"Project-Id-Version: mate-menus.HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-01-30 20:21+0400\n" +"PO-Revision-Date: 2009-01-30 20:22+0400\n" +"Last-Translator: Norayr Chilingaryan <[email protected]>\n" +"Language-Team: <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.9.1\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Համասփյուռ ծրագրերի ցանկ" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Ձայն և Վիդեո" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Ծրագրավորում" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Ծրագրերի մշակման գործիքներ" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Ուսուցում" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Խաղեր" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Խաղեր և զվարճություններ" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Գրաֆիկա" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Գրաֆիկական ծրագրեր" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Երկաթ" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Տարբեր սարքերի հատկություններ" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Ինտերնետ և Ցանց" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Ցանցային հատկություններ" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Տեսք" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Աշխատասեղանի տեսքի և վարքի հատկություններ" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Համացանց" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Համացանցում աշխատելու ծրագրեր, ինչպես վեպ զննիչը" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Օֆիս" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Օֆիսային Ծրագրեր" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Անձնական" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Հատկություններ" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Կառավարում" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +#, fuzzy +msgid "Change system-wide settings (affects all users)" +msgstr "Փոխել ամբողջ համակարգի նախընտրանքները (վերաբերում է բոլոր գործարկողներին)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Անհատական նախընտրանքներ" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Հատկություններ" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Համակարգ" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Համակարգի հատկություններ" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Համակարգի գործիքներ" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Համակարգի կարգավորում և վերահսկում" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Ընդհանուր Մատչելիություն" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Հնարավորությունների կարգավորումներ" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Աքսեսուարներ" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Աշխատասեղանի աքսեսուարներ" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Ծրագրեր" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Անհատական և կառավարման կարգավորումներ" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Ծրագրեր, որոնք այլ կատեգորիաներին չեն համապատասխանում" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Այլ" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Ցանկի Խմբագրիչ" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "Ցանկերի խմբագրում" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "Ծրագրեր" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "Նախնական" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "Ցանկ" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Անուն" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Ցուցադրում" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment" +msgstr "Չի հաջողվել գտնել տան ապանակը։ այն նշված չէ /etc/passwd ֆայլի մեջ և $HOME միջավայրի փոփոխականը չի պարունակում ոչ մի արժեք" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Ցանկի ֆայլ" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "ՑԱՆԿԻ―ՖԱՅԼ" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Ցանկի փոփոխությունները" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Ընդգրկել <բացառված> միավորները" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Ընդգրկել NoDisplay=true միավորները" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Սխալ ֆայլի ID" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Սխալ ֆայլանուն]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr "<բացառված>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Ցանկը փոխցած է, վերաբեռնում ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 +#: ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Ցանկը դատարկ է" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr " - ստուգեք ԳՆՈՄ-ի Աշխատասեղանի Ցանկի Բնորոշման իրագործումը" + +#~ msgid "Accessibility" +#~ msgstr "Հնարավորություններ" +#~ msgid "Desktop" +#~ msgstr "Աշխատասեղան" +#~ msgid "Accessibility related preferences" +#~ msgstr "Ծրագրերին առնչվող պարամետրեր" + diff --git a/po/id.po b/po/id.po new file mode 100644 index 0000000..fef0377 --- /dev/null +++ b/po/id.po @@ -0,0 +1,217 @@ +# translation of mate-menus.master.id.po to MATE Indonesian Translation Team +# Indonesian translation of mate-menus. +# Copyright (C) 2005 THE mate-menus's COPYRIGHT HOLDER +# This file is distributed under the same license as the mate-menus package. +# +# +# ahmad riza h nst <[email protected]>, 2005. +# Dirgita <[email protected]>, 2010. +# Dirgita <[email protected]>, 2010. +msgid "" +msgstr "" +"Project-Id-Version: mate-menus.master.id\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-" +"menus&component=general\n" +"POT-Creation-Date: 2010-07-20 10:11+0000\n" +"PO-Revision-Date: 2010-05-24 10:37+0700\n" +"Last-Translator: Dirgita <[email protected]>\n" +"Language-Team: MATE Indonesian Translation Team <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Menu multimedia" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Suara & Video" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Pemrograman" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Perkakas untuk pengembangan perangkat lunak" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Pendidikan" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Permainan" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Permainan dan hiburan" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafik" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Aplikasi grafik" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Perangkat Keras" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Pengaturan untuk sejumlah perangkat keras" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet dan Jaringan" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Pengaturan jaringan" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Tampilan dan Rasa" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Mengelola tampilan dan perilaku desktop" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Program untuk mengakses internet, seperti web dan surel" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Perkantoran" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Aplikasi Perkantoran" + +#. Translators: this is Personal as in "Personal settings" +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal" +msgstr "Pribadi" + +#: ../desktop-directories/Personal.directory.in.h:3 +msgid "Personal settings" +msgstr "Pengaturan pribadi" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Administrasi" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Pengaturan sistem secara luas (mempengaruhi seluruh pengguna)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Preferensi pribadi" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Preferensi" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Sistem" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Pengaturan sistem" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Perkakas Sistem" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Konfigurasi serta pengawasan sistem" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Akses Universal" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Pengaturan Akses Universal" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Aksesoris" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Aksesoris desktop" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Aplikasi" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Preferensi pribadi dan pengaturan administrasi" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Aplikasi yang tidak termasuk dalam kategori manapun" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Lainnya" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Penyunting Menu" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Sunting Menu" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Aplikasi:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Baku" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menu:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Penyunting Menu Sederhana %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Nama" + +# Ini tombol ceklis untuk memilih menu-menu apa saja yang tampak dalam daftar menu utama. +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Tampak" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Tidak menemukan direktori rumah: tidak tercantum di /etc/passwd maupun pada " +"variabel lingkungan $HOME" diff --git a/po/ig.po b/po/ig.po new file mode 100644 index 0000000..07e0f93 --- /dev/null +++ b/po/ig.po @@ -0,0 +1,270 @@ +msgid "" +msgstr "" +"Project-Id-Version: mate-menus.mate-2-12\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-" +"menus&component=general\n" +"POT-Creation-Date: 2009-01-01 18:52+0000\n" +"PO-Revision-Date: 2006-04-05 12:38+0100\n" +"Last-Translator: translator\n" +"Language-Team: <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.10.2\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Mọltimidia menu" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Ụda na Vidio" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programịn" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Ngwaọrụ maka ntolite Sọftwịa" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Ọmụmụ" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Egwuregwu" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Egwuregwu na obiụtọ" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Nsepụtainyogo" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Usoro iheomume nsepụtainyogo" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Ịntaneetị" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Program maka ikikembanye ịntaneetị dịka web na Imeelụ" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Ụlọọrụ" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Usoro iheomume ụlọọrụ" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "" + +#: ../desktop-directories/Personal.directory.in.h:2 +#, fuzzy +msgid "Personal settings" +msgstr "Nkarachọ nkeonwe na nhazi" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Nhazi " + +#: ../desktop-directories/Settings-System.directory.in.h:2 +#, fuzzy +msgid "Change system-wide settings (affects all users)" +msgstr "Gbanwee nhazi systemwide (na-emetụta ndị ojieme)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Nkarachọ nkeonwe" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Nkarachọ" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +#, fuzzy +msgid "System" +msgstr "Ngwaọrụ sistem" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Ngwaọrụ sistem" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Nhazi na ilereanya nke sistem" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +#, fuzzy +msgid "Universal Access Settings" +msgstr "Nhazi ikikembanye" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Nnyemaka ngwaọrụ" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Nnyemaka ngwaọrụ Desktọọpụ" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Usoro ihe omume" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Nkarachọ nkeonwe na ọdịdị Nhazi " + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Usoro iheomume na-abanyeghị n'ọ́nụ́ ndị ọzọ" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Ọzọ" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Odezi menu" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "Dezie menu" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "_Usoro iheomume:" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "_Difọọltụ" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "_Menus" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Aha" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Gosi" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Achọtaghịnwu ihenlereanya keụlọ: Ekpokọtaghị ya na /dgz/okwumbanye na nke na-" +"abaghị uru maka ụlọ $HOME" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Faịlụ menu" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FAỊLỤ" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Inyogo maka mgbanwe menu" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Gbakwunye <Exclude>mbanye ahụ" + +#: ../util/test-menu-spec.c:36 +#, fuzzy +msgid "Include NoDisplay=true entries" +msgstr "Gbakwunye <Exclude>mbanye ahụ" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Desktọọpụ Faịlụ ID na-enweghị isi" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Ahịrịnkọwa faịlụ na-enweghị isi]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr "<excluded>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"====ọtụtụ gbanwere, bubatagharịa ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Osisi Menu ghe oghe" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- Nnwale MATE Nwepụta nke Desktọọpụ nzipụta menu" + +#~ msgid "Accessibility" +#~ msgstr "Ikikembanye" + +#~ msgid "Accessibility related preferences" +#~ msgstr "Ikikembanye yiwere nkarachọ" + +#~ msgid "Desktop" +#~ msgstr "Desktọọpụ" diff --git a/po/io.po b/po/io.po new file mode 100644 index 0000000..9d9e023 --- /dev/null +++ b/po/io.po @@ -0,0 +1,267 @@ +# Ido translation of mate-menus. +# Copyright (C) 2007 Free Software Foundation, Inc. +# This file is distributed under the same license as the mate-menus package. +# Michael Terry <[email protected]>, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-12-27 17:48-0500\n" +"PO-Revision-Date: 2008-01-16 21:27-0500\n" +"Last-Translator: Michael Terry <[email protected]>\n" +"Language-Team: Ido <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/Accessibility.directory.in.h:1 +#: ../desktop-directories/Settings-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Universala Aceso" + +#: ../desktop-directories/Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Situesi pri Universala Aceso" + +#: ../desktop-directories/Accessories.directory.in.h:1 +msgid "Accessories" +msgstr "Acesori" + +#: ../desktop-directories/Accessories.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Pupitrosuprala acesori" + +#: ../desktop-directories/Applications.directory.in.h:1 +msgid "Applications" +msgstr "Programi" + +#: ../desktop-directories/Desktop.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Personala preferi ed situesi pri administrado" + +#: ../desktop-directories/Desktop.directory.in.h:2 +#: ../desktop-directories/System.directory.in.h:1 +msgid "System" +msgstr "Sistemo" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programado" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Edukado" + +#: ../desktop-directories/Games.directory.in.h:1 +msgid "Games" +msgstr "Ludi" + +#: ../desktop-directories/Games.directory.in.h:2 +msgid "Games and amusements" +msgstr "Ludi ed amuzi" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafikarti" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Programi pri grafikarti" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Metalajaro" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Interreto e Reto" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Retala setuesi" + +#: ../desktop-directories/Internet.directory.in.h:1 +msgid "Internet" +msgstr "Interreto" + +#: ../desktop-directories/Internet.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Aspekto e Sento" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "" + +#: ../desktop-directories/Multimedia.directory.in.h:1 +msgid "Multimedia menu" +msgstr "" + +#: ../desktop-directories/Multimedia.directory.in.h:2 +msgid "Sound & Video" +msgstr "Sono ed Video" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Kontoro" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Kontorala Programi" + +#: ../desktop-directories/Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "" + +#: ../desktop-directories/Other.directory.in.h:2 +msgid "Other" +msgstr "Altra" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Personala" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Personala situesi" + +#: ../desktop-directories/Preferences.directory.in.h:1 +msgid "Personal preferences" +msgstr "Personala preferi" + +#: ../desktop-directories/Preferences.directory.in.h:2 +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Preferi" + +#: ../desktop-directories/Settings-Accessibility.directory.in.h:2 +msgid "Universal access related preferences" +msgstr "Preferi pri universala aceso" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences and settings" +msgstr "Personala preferi e situesi" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Sistemala situesi" + +#: ../desktop-directories/System-Settings.directory.in.h:1 +msgid "Administration" +msgstr "Administrado" + +#: ../desktop-directories/System-Settings.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Sistemala Utensili" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Menuala Editilo" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "Editez Menui" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "_Programi:" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "_Menui:" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123 +msgid "Name" +msgstr "Nomo" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115 +msgid "Show" +msgstr "Montrez" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44 +msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment" +msgstr "" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Menuala dokumento" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENUALA_DOKUMENTO" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Nevalida ID di pupitrosuprala dokumentala" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Nevalida Dokumentnomo]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr "<excluzesa>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Menuo chanjis, richarjas ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 +#: ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Menuala arboro esas vakua" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "" + diff --git a/po/is.po b/po/is.po new file mode 100644 index 0000000..7e718e3 --- /dev/null +++ b/po/is.po @@ -0,0 +1,268 @@ +# Icelandic translation of Mate. +# Icelandic translation of mate-menus. +# Copyright (C) 2008 Free Software Foundation, Inc. +# Anna Jonna Ármannsdóttir <[email protected]>, 2008. +# Sveinn í Felli <[email protected]>, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-" +"menus&component=general\n" +"POT-Creation-Date: 2009-09-29 14:04+0000\n" +"PO-Revision-Date: 2008-05-14 01:40+0000\n" +"Last-Translator: Sveinn í Felli <[email protected]>\n" +"Language-Team: Icelandic\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Margmiðlun" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Hljóð og mynd" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Forritun" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Þróunarverkfæri" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Menntun" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Leikir" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Leikir og skemmtun" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Myndefni" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Myndefnisforrit" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Vélbúnaður" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Uppsetning á ýmsum vélbúnaði" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet og netkerfi" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Netkerfistengdar stillingar" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Útlit og viðmót" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Stillingar sem stjórna útliti og hegðun skjáborðsins" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Forrit til að nálgast netið eins og vefinn og tölvupóst" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Skrifstofa" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Skrifstofuforrit" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Persónulegt" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Persónulegar stillingar" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Stjórnun" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Breyta stillingum fyrir allt kerfið (hefur áhrif á alla notendur)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Persónulegir valmöguleikar" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Stillingar" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Kerfið" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Kerfisstillingar" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Kerfistól" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Kerfisstillingar og vöktun" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Altækur aðgangur" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Stillingar fyrir altækan aðgang" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Aukahlutir" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Aukahlutir fyrir skjáborð" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Forrit" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Persónulegir valmöguleikar og stjórnunar stillingar" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Forrit sem passa ekki í aðra flokka" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Annað" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Valmyndaritill" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Breyta valmyndum" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Forrit:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Sjálfgefið" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Valmyndir:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Einfaldur valmyndaritill %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Nafn" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Sýna" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Gat ekki fundið heimamöppu: er ekki stillt í /etc/passwd og ekkert gildi " +"fyrir $HOME í víðværum breytum" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Valmyndaskrá" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "VALMYNDAR_SKRÁ" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Fylgjast með breytingum í valmynd" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Taka <útilokað>ar færslur með" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Taka NoDisplay=true færslur með" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Kenni skjáborðsskrár er ógilt" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Ógilt skráarnafn]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <útilokað>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Valmynd breytt, endurhleð ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Valmyndatréð er tómt" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- prófa útfærslu MATE á Desktop Menu Specification" diff --git a/po/it.po b/po/it.po new file mode 100644 index 0000000..1728843 --- /dev/null +++ b/po/it.po @@ -0,0 +1,267 @@ +# Italian translation of mate-menus. +# Copyright (C) 2005, 2006, 2007, 2008, 2009 The Free Software Foundation, Inc. +# This file is distributed under the same license as the mate-menus package. +# Francesco Marletta <francesco.marletta @ tiscali.it>, 2005, 206, 2007, 2008, 2009. +# Luca Ferretti <[email protected]>, 2009 +msgid "" +msgstr "" +"Project-Id-Version: mate-menus 2.28\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n" +"POT-Creation-Date: 2009-08-26 07:31+0000\n" +"PO-Revision-Date: 2009-09-18 15:06+0200\n" +"Last-Translator: Luca Ferretti <[email protected]>\n" +"Language-Team: Italian <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Menù multimedia" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Audio e video" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programmazione" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Strumenti per lo sviluppo software" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Istruzione" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Giochi" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Giochi e passatempi" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafica" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Applicazioni grafiche" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Hardware" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Impostazioni per parecchi dispositivi hardware" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet e rete" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Impostazioni relative alla rete" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Aspetto e stile" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Impostazioni che controllano l'aspetto e il comportamento del desktop" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programmi per l'accesso a Internet come web ed email" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Ufficio" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Applicazioni da ufficio" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Personale" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Impostazioni personali" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Amministrazione" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Modifica impostazioni di sistema (influenzano tutti gli utenti)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Preferenze personali" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Preferenze" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Sistema" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Impostazioni di sistema" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Strumenti di sistema" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Configurazione e monitoraggio del sistema" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Accesso universale" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Impostazioni accesso universale" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Accessori" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Accessori del desktop" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Applicazioni" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Preferenze personali e impostazioni di amministrazione" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Applicazioni che non rientrano in altre categorie" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Altro" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Editor del menù" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Modifica i menù" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Applicazioni:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "Pre_definite" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menù:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +#| msgid "Menu Editor" +msgid "Simple Menu Editor %s" +msgstr "Editor dei menù semplice %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Nome" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Mostra" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Impossibile trovare la directory home: non è impostata in /etc/passwd e la " +"variabile d'ambiente $HOME non ha alcun valore" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "File di menù" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "FILE_MENU" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Monitora i cambiamenti dei menù" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Includere le voci <Exclude>" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Includere le voci NoDisplay=true" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "ID di file desktop non valido" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Nome di file non valido]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Menù cambiato, ricarica in corso ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "L'albero dei menù è vuoto" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "" +"- test dell'implementazione di MATE della specifica per i menù del desktop" diff --git a/po/ja.po b/po/ja.po new file mode 100644 index 0000000..51fccd6 --- /dev/null +++ b/po/ja.po @@ -0,0 +1,263 @@ +# ja.po for mate-menus. +# Copyright (C) 2004-2007,2009-2010 THE mate-menus' COPYRIGHT HOLDER +# This file is distributed under the same license as the mate-menus package. +# Satoru SATOH <[email protected]>, 2004. +# Takeshi AIHANA <[email protected]>, 2005-2007. +# Takayuki KUSANO <[email protected]>, 2009-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus master\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-" +"menus&component=general\n" +"POT-Creation-Date: 2010-09-18 18:45+0000\n" +"PO-Revision-Date: 2009-09-08 22:13+0900\n" +"Last-Translator: Takayuki KUSANO <[email protected]>\n" +"Language-Team: Japanese <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "マルチメディア関連のプログラムです" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "サウンドとビデオ" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "プログラミング" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "ソフトウェア開発者向けのツールです" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "教育・教養" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "ゲーム" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "気晴しにゲームをどうぞ" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "グラフィックス" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "グラフィックス関連のアプリケーションです" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "ハードウェア" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "使用するハードウェア・デバイスを設定します" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "インターネットとネットワーク" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "ネットワークに関連する設定を行います" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "ルック&フィール" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "デスクトップの外観や動きを調整します" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "インターネット" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "ウェブやメールなどインターネットにアクセスのためのプログラムです" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "オフィス" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "オフィス・アプリケーションです" + +#. Translators: this is Personal as in "Personal settings" +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal" +msgstr "ユーザ向け" + +#: ../desktop-directories/Personal.directory.in.h:3 +msgid "Personal settings" +msgstr "ユーザ向けの設定を変更します" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "システム管理" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "システム規模の設定を変更します (すべてのユーザに影響します)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "ユーザ専用の設定" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "設定" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "システム" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "システム規模の設定を変更します" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "システムツール" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "システムの設定と監視を行うプログラムです" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "ユニバーサル・アクセス" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "ユニバーサル・アクセスの設定を変更します" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "アクセサリ" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "デスクトップ用のアクセサリーです" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "アプリケーション" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "個人設定と管理者向けの設定ツールです" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "他のカテゴリにあてはまらないアプリケーション" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "その他" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "メニュー・エディタ" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "メニューの編集" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "アプリケーション(_A):" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "デフォルト(_D)" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "メニュー(_M):" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "シンプル・メニュー・エディタ %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "名前" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "表示" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"ホーム・フォルダが見つかりません: \"/etc/passwd\" に記述されていないか、環境" +"変数 $HOME の値が空です。" + +#~ msgid "Menu file" +#~ msgstr "メニュー・ファイル" + +#~ msgid "MENU_FILE" +#~ msgstr "MENU_FILE" + +#~ msgid "Monitor for menu changes" +#~ msgstr "メニューの変更を監視する" + +#~ msgid "Include <Exclude>d entries" +#~ msgstr "<Exclude> のエントリを含める" + +#~ msgid "Include NoDisplay=true entries" +#~ msgstr "NoDisplay=true のエントリを含める" + +#~ msgid "Invalid desktop file ID" +#~ msgstr ".desktop ファイルの ID が間違っています" + +#~ msgid "[Invalid Filename]" +#~ msgstr "[ファイル名が間違っています]" + +#~ msgid " <excluded>" +#~ msgstr " <excluded>" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "==== Menu changed, reloading ====\n" +#~ "\n" +#~ "\n" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "==== メニューが変更されました (再読み込み中...) ====\n" +#~ "\n" +#~ "\n" + +#~ msgid "Menu tree is empty" +#~ msgstr "メニューのツリーが空です" + +#~ msgid "- test MATE's implementation of the Desktop Menu Specification" +#~ msgstr "- MATE のデスクトップ・メニューの実装をテストします" + +#~ msgid "Universal access related preferences" +#~ msgstr "ユニバーサル・アクセスに関連する設定を変更します" + +#~ msgid "Personal preferences and settings" +#~ msgstr "ユーザ向けの設定を変更します" diff --git a/po/ka.po b/po/ka.po new file mode 100644 index 0000000..03eec73 --- /dev/null +++ b/po/ka.po @@ -0,0 +1,238 @@ +# Georgian translation for mate-menus +# Copyright (c) (c) 2005 Canonical Ltd, and Rosetta Contributors 2005 +# This file is distributed under the same license as the mate-menus package. +# <>, 2005. +# , fuzzy +# <>, 2006. +# +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-02-09 23:56+0100\n" +"PO-Revision-Date: 2006-03-16 19:00+0100\n" +"Last-Translator: Vladimer Sichinava <[email protected]>\n" +"Language-Team: Georgian <http://geoubuntu.cjb.net/>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit" + +#: ../desktop-directories/Accessibility.directory.in.h:1 +#: ../desktop-directories/Settings-Accessibility.directory.in.h:1 +msgid "Accessibility" +msgstr "დამხმარე საშუალებები" + +#: ../desktop-directories/Accessibility.directory.in.h:2 +msgid "Accessibility Settings" +msgstr "დამხმარე საშუალებათა პარამეტრები" + +#: ../desktop-directories/Accessories.directory.in.h:1 +msgid "Accessories" +msgstr "აქსესუარები" + +#: ../desktop-directories/Accessories.directory.in.h:2 +msgid "Desktop accessories" +msgstr "სამუშაო მაგიდის აქსესუარები" + +#: ../desktop-directories/Applications.directory.in.h:1 +msgid "Applications" +msgstr "პროგრამები" + +#: ../desktop-directories/Desktop.directory.in.h:1 +msgid "Desktop" +msgstr "სამუშაო მაგიდა" + +#: ../desktop-directories/Desktop.directory.in.h:2 +msgid "Personal preferences and administration settings" +msgstr "საკუთარი პარამეტრები და ადმინისტრაცია" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "პროგრამირება" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "პროგრამირების ხელსაწყოები" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "განათლება" + +#: ../desktop-directories/Games.directory.in.h:1 +msgid "Games" +msgstr "თამაშები" + +#: ../desktop-directories/Games.directory.in.h:2 +msgid "Games and amusements" +msgstr "თამაშები და სხვა" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "გრაფიკა" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "გრაფიკული პროგრამები" + +#: ../desktop-directories/Internet.directory.in.h:1 +msgid "Internet" +msgstr "ინტერნეტი" + +#: ../desktop-directories/Internet.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "პროგრამები ინტერნეტისათვის, ვები და მეილი" + +#: ../desktop-directories/Multimedia.directory.in.h:1 +msgid "Multimedia menu" +msgstr "მულტიმედიის მენუ" + +#: ../desktop-directories/Multimedia.directory.in.h:2 +msgid "Sound & Video" +msgstr "ხმა და ვიდეო" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "ოფისი" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "საოფისე პროგრამები" + +#: ../desktop-directories/Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "პროგრამები რომლებიც არც ერთ კატეგორიაში არ შედიან" + +#: ../desktop-directories/Other.directory.in.h:2 +msgid "Other" +msgstr "სხვა" + +#: ../desktop-directories/Preferences.directory.in.h:1 +msgid "Personal preferences" +msgstr "პერსონალური პარამეტრები" + +#: ../desktop-directories/Preferences.directory.in.h:2 +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "პარამეტრები" + +#: ../desktop-directories/Settings-Accessibility.directory.in.h:2 +msgid "Accessibility related preferences" +msgstr "სპეც შესაძლებლობების პარამეტრები" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences and settings" +msgstr "პერსონალური პარამეტრები" + +#: ../desktop-directories/System-Settings.directory.in.h:1 +msgid "Administration" +msgstr "ადმინისტრაცია" + +#: ../desktop-directories/System-Settings.directory.in.h:2 +msgid "Change systemwide settings (affects all users)" +msgstr "გლობალური სისტემური ცვლილებები (ვრცელდება ყველა მომხმარებელზე)" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "სისტემური ხელსაწყოები" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "სისტემის კონფიგურაცია და მონიტორინგი" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "მენუს ედიტორი" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "მენუს დამუშავება" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "_პროგრამები:" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "_ნაგულისხმევი პარამეტრები" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "_მენუ" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123 +msgid "Name" +msgstr "სახელი" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115 +msgid "Show" +msgstr "ანახე" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "ვერ ვპოულობ სახლის დირექტორიას: არ იქნება დაყენებული /etc/passwd-ში" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "მენუ ფაილი" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "მენუში ცვლილებათა მონიტორინგი" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "<ჩაუმატებელი> ელემენტების ჩამატება" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "ჩართე NoDisplay=true ელემენტები" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "არასწორი ID დესკტოპ ფაილისა" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[მცდარი ფაილსახელი]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"↵\n" +"↵\n" +"↵\n" +"==== მენუ შეიცვალა, გადათვირთვა ====↵\n" +"↵\n" +"↵\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "მენუს ხე ცარიელია" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "-·test·MATE's·implementation·of·the·Desktop·Menu·Specification" + diff --git a/po/kk.po b/po/kk.po new file mode 100644 index 0000000..9f07a3d --- /dev/null +++ b/po/kk.po @@ -0,0 +1,255 @@ +# translation of mate-menus to Kazakh +# Copyright (C) 2008 Free Software Foundation, Inc. +# +# Moldabekov Margulan <[email protected]>, 2008 +# Erzhan Shaniev <[email protected]>, 2008 +# Baurzhan Muftakhidinov <[email protected]>, 2010 +msgid "" +msgstr "" +"Project-Id-Version: mate-menus trunk\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n" +"POT-Creation-Date: 2010-07-02 11:40+0000\n" +"PO-Revision-Date: 2010-09-15 12:55+0600\n" +"Last-Translator: Baurzhan Muftakhidinov <[email protected]>\n" +"Language-Team: Kazakh <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0\n" +"X-Poedit-Language: Kazakh\n" +"X-Poedit-Country: KAZAKHSTAN\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Мультимедиа" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Аудио және видео" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Бағдарламалау" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Бағдарламалауға арналған құралдар" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Оқыту" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Ойындар" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Ойын-сауық" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Графика" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Графикалық қолданбалар" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Құрылғылар" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Құрылғылардың баптаулары" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Интернет пен желі" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Желілік баптаулар" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Сыртқы түрі" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Жұмыс үстелін көркейтетін баптаулар" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Интернет" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Интернетті қолдануға арналған бағдарламалар (пошта, браузер, т.б.)" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Кеңселік" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Кеңселік қолданбалар" + +#. Translators: this is Personal as in "Personal settings" +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal" +msgstr "Жеке" + +#: ../desktop-directories/Personal.directory.in.h:3 +msgid "Personal settings" +msgstr "Жеке баптаулар" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Әкімшілік" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Жүйелік баптауларды өзгерту (барлық пайдаланушылар үшін)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Жеке баптаулар" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Баптаулар" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Жүйелік" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Жүйелік баптаулар" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Жүйелік саймандар" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Жүйені баптау мен бақылау" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Арнайы мүмкіндіктер" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Арнайы мүмкіндіктер баптаулары" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Қалыпты" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Қалыпты қолданбалар" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Қолданбалар" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Жеке мен әкімшілік баптаулар" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Ешқандай санатқа жатпайтын қолданбалар" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Басқалар" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Мәзір түзетушісі" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Мәзірді түзету" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "Қ_олданбалар:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Бастапқы қалпы" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Мәзірлер:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +#| msgid "Menu Editor" +msgid "Simple Menu Editor %s" +msgstr "Қарапайым мәзір түзетушісі %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Аты" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Көрсету" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment" +msgstr "Үй бумасы табылмады: /etc/passwd ішінде жоқ және $HOME айнымалысы орнатылмаған" + +#~ msgid "Menu file" +#~ msgstr "Мәзір файлы" + +#~ msgid "MENU_FILE" +#~ msgstr "МӘЗІР_ФАЙЛЫ" + +#~ msgid "Monitor for menu changes" +#~ msgstr "Мәзірде болған өзгерістерді бақылау" + +#~ msgid "Include <Exclude>d entries" +#~ msgstr "Шығарылған элементтерді іске келтіру" + +#~ msgid "Include NoDisplay=true entries" +#~ msgstr "NoDisplay=true элементтерін іске келтіру" + +#~ msgid "Invalid desktop file ID" +#~ msgstr "Desktop-файлдың ID-і қате" + +#~ msgid "[Invalid Filename]" +#~ msgstr "[файлдың аты дұрыс емес]" + +#~ msgid " <excluded>" +#~ msgstr " <excluded>" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "==== Menu changed, reloading ====\n" +#~ "\n" +#~ "\n" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "==== Мәзір өзгертілді, жаңадан қосылуда ====\n" +#~ "\n" +#~ "\n" + +#~ msgid "Menu tree is empty" +#~ msgstr "Мәзір ағашы бос" + +#~ msgid "- test MATE's implementation of the Desktop Menu Specification" +#~ msgstr "- MATE-да қолданылған Desktop Menu-дің тексерісі" diff --git a/po/kn.po b/po/kn.po new file mode 100644 index 0000000..00c3749 --- /dev/null +++ b/po/kn.po @@ -0,0 +1,256 @@ +# translation of mate-menus.master.kn.po to Kannada +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Shankar Prasad <[email protected]>, 2007, 2008, 2009, 2010. +msgid "" +msgstr "" +"Project-Id-Version: mate-menus.master.kn\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-04-21 11:48+0530\n" +"PO-Revision-Date: 2010-03-24 17:49+0530\n" +"Last-Translator: Shankar Prasad <[email protected]>\n" +"Language-Team: kn-IN <>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "ಮಲ್ಟಿಮೀಡಿಯಾ ಅಂಶಪಟ್ಟಿ" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "ಧ್ವನಿ ಹಾಗು ದೃಶ್ಯ" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "ಪ್ರೊಗ್ರಾಮಿಂಗ್" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "ತಂತ್ರಾಂಶ ವಿಕಸನೆಗಾಗಿನ ಉಪಕರಣಗಳು" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "ಶಿಕ್ಷಣ" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "ಆಟಗಳು" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "ಆಟಗಳು ಹಾಗು ರಂಜನೆಗಳು" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "ಗ್ರಾಫಿಕ್ಸ್" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "ಗ್ರಾಫಿಕ್ಸ್ ಅನ್ವಯಗಳು" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "ಯಂತ್ರಾಂಶ" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "ಹಲವಾರು ಯಂತ್ರಾಂಶ ಸಾಧನಗಳಿಗಾಗಿನ ಸಿದ್ಧತೆಗಳು" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "ಅಂತರಜಾಲ ಹಾಗು ಜಾಲಬಂಧ" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "ಜಾಲಬಂಧ-ಸಂಬಂಧಿತ ಸಿದ್ಧತೆಗಳು" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "ನೋಟ ಹಾಗು ಮಾಟ" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "ಗಣಕತೆರೆಯ ಸ್ವರೂಪ ಹಾಗು ವರ್ತನೆಯನ್ನು ನಿಯಂತ್ರಿಸುವ ಸಿದ್ಧತೆಗಳು" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "ಅಂತರಜಾಲ" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "ಜಾಲ ಹಾಗು ಇಮೈಲಿನಂತಹ ಅಂತರಜಾಲವನ್ನು ನಿಲುಕಿಸಿಕೊಳ್ಳುವ ಪ್ರೊಗ್ರಾಂಗಳು" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "ಆಫೀಸ್" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "ಆಫೀಸ್ ಅನ್ವಯಗಳು" + +#. Translators: this is Personal as in "Personal settings" +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal" +msgstr "ವೈಯಕ್ತಿಕ" + +#: ../desktop-directories/Personal.directory.in.h:3 +msgid "Personal settings" +msgstr "ವೈಯಕ್ತಿಕ ಸಿದ್ಧತೆಗಳು" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "ನಿರ್ವಹಣೆ" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "ವ್ಯವಸ್ಥೆಯಾದ್ಯಂತದ ಸಿದ್ಧತೆಗಳನ್ನು ಬದಲಾಯಿಸಿ (ಎಲ್ಲಾ ಬಳಕೆದಾರರ ಮೇಲೂ ಪರಿಣಾಮಬೀರುತ್ತದೆ)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "ವೈಯಕ್ತಿಕ ಆದ್ಯತೆಗಳು" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "ಆದ್ಯತೆಗಳು" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "ವ್ಯವಸ್ಥೆ" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "ವ್ಯವಸ್ಥೆಯ ಸಿದ್ಧತೆಗಳು" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "ವ್ಯವಸ್ಥೆಯ ಉಪಕರಣಗಳು" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "ವ್ಯವಸ್ಥೆಯ ಸಂರಚನೆ ಹಾಗು ಪರಿವೀಕ್ಷಣೆ" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "ಜಾಗತಿಕ ನಿಲುಕಣೆ" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "ಜಾಗತಿಕ ನಿಲುಕಣೆ ಸಿದ್ಧತೆಗಳು" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "ಸಲಕರಣೆಗಳು" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "ಗಣಕತೆರೆಯ ಸಲಕರಣೆಗಳು" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "ಅನ್ವಯಗಳು" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "ವೈಯಕ್ತಿಕ ಆದ್ಯತೆಗಳು ಹಾಗು ನಿರ್ವಹಣಾ ಸಿದ್ಧತೆಗಳು" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "ಬೇರೆ ವರ್ಗಗಳಿಗೆ ಸೇರದೇ ಇರುವಂತಹ ಅನ್ವಯಗಳು" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "ಇತರೆ" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "ಮೆನು ಸಂಪಾದಕ" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "ಮೆನುಗಳನ್ನು ಸಂಪಾದಿಸು" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "ಅನ್ವಯಗಳು(_A):" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "ಪೂರ್ವನಿಯೋಜಿತ(_D)" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "ಮೆನುಗಳು(_M):" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "ಸರಳ ಮೆನು ಸಂಪಾದಕ %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "ಹೆಸರು" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "ತೋರಿಸು" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"ನೆಲೆ ಕಡತಕೋಶವು ಕಂಡುಬಂದಿಲ್ಲ: /etc/passwd ನಲ್ಲಿ ಸಿದ್ಧಗೊಳಿಸಿಲ್ಲ ಹಾಗು ವಾತಾವರಣದಲ್ಲಿ " +"$HOME ಗೆ ಯಾವುದೇ ಮೌಲ್ಯವಿಲ್ಲ" + +#~ msgid "Menu file" +#~ msgstr "ಮೆನು ಕಡತ" + +#~ msgid "MENU_FILE" +#~ msgstr "MENU_FILE" + +#~ msgid "Monitor for menu changes" +#~ msgstr "ಮೆನು ಬದಲಾವಣೆಗಳ ಪರಿವೀಕ್ಷಕ" + +#~ msgid "Include <Exclude>d entries" +#~ msgstr "<Exclude>ಆದಂತಹ ನಮೂದುಗಳನ್ನು ಅಡಕಗೊಳಿಸು" + +#~ msgid "Include NoDisplay=true entries" +#~ msgstr "NoDisplay=true ನಮೂದನ್ನು ಅಡಕಗೊಳಿಸು" + +#~ msgid "Invalid desktop file ID" +#~ msgstr "ಸಿಂಧುವಲ್ಲದ ಗಣಕತೆರೆ ಕಡತ ID" + +#~ msgid "[Invalid Filename]" +#~ msgstr "[ಸಿಂಧುವಲ್ಲದ ಕಡತಹೆಸರು]" + +#~ msgid " <excluded>" +#~ msgstr " <excluded>" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "==== Menu changed, reloading ====\n" +#~ "\n" +#~ "\n" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "==== ಮೆನು ಬದಲಾಯಿಸಲ್ಪಟ್ಟಿದೆ, ಪುನಃ ಲೋಡ್ ಆಗುತ್ತಿದೆ ====\n" +#~ "\n" +#~ "\n" + +#~ msgid "Menu tree is empty" +#~ msgstr "ಮೆನು ವೃಕ್ಷವು(tree) ಖಾಲಿ ಇದೆ" + +#~ msgid "- test MATE's implementation of the Desktop Menu Specification" +#~ msgstr "- ಗಣಕತೆರೆ ಮೆನು ಸೂಚನೆಗಳ MATE ನ ಅನ್ವಯಿಸುವಿಕೆಯನ್ನು ಪರೀಕ್ಷಿಸುತ್ತದೆ" diff --git a/po/ko.po b/po/ko.po new file mode 100644 index 0000000..f3bfea9 --- /dev/null +++ b/po/ko.po @@ -0,0 +1,268 @@ +# mate-menus Korean message translation +# This file is distributed under the same license as the mate-menus package. +# +# Sung-Hyun Nam <[email protected]>, 2000. +# Young-Ho Cha <[email protected]>, 2000,2001,2003, 2007. +# Eunju Kim <[email protected]>, 2007. +# Changwoo Ryu <[email protected]>, 1998, 2002, 2003, 2008, 2009, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n" +"POT-Creation-Date: 2009-08-23 07:27+0900\n" +"PO-Revision-Date: 2010-03-13 23:55+0900\n" +"Last-Translator: Changwoo Ryu <[email protected]>\n" +"Language-Team: MATE Korea <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "멀티미디어 메뉴" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "음악과 비디오" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "개발" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "소프트웨어 개발을 위한 도구" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "교육" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "게임" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "게임 메뉴" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "그래픽" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "그래픽 응용프로그램" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "하드웨어" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "하드웨어 장치를 설정합니다" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "인터넷과 네트워크" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "네트워크와 관련된 설정을 합니다" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "모양새" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "바탕환경의 모양새와 행동을 설정합니다" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "인터넷" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "웹과 전자메일 같은 인터넷에 접근 가능한 프로그램" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "오피스" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "오피스 응용프로그램" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "개인" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "개인 설정" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "관리" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "시스템 전체 설정을 바꿉니다 (모든 사용자에게 영향을 미칩니다)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "개인 기본 설정" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "기본 설정" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "시스템" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "시스템 설정" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "시스템 도구" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "시스템 설정과 감시" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "보편적 접근성" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "보편적 접근성 설정" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "보조 프로그램" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "바탕환경의 보조 프로그램" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "프로그램" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "개인 기본 설정과 관리자 설정" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "어떤 범주에도 해당되지 않는 프로그램" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "기타" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "메뉴 편집기" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "메뉴 편집" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "프로그램(_A):" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "기본값(_D)" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "메뉴(_M):" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "간단한 메뉴 편집기 %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "이름" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "보이기" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"홈 디렉터리를 찾을 수 없습니다: /etc/passwd와 $HOME 환경변수가 설정이 되어 있" +"지 않습니다" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "메뉴 파일" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "메뉴 바꿈 감시" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "<차단>된 항목 포함" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "NoDisplay=true 항목 포함" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "잘못된 바탕 화면 파일 ID" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[잘못된 파일 이름]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <차단됨>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== 메뉴가 바뀌었습니다, 다시 읽습니다 ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "메뉴 트리가 비었습니다" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- 그놈의 데스크톱 메뉴 명세서의 테스트 구현" diff --git a/po/ku.po b/po/ku.po new file mode 100644 index 0000000..e888cf8 --- /dev/null +++ b/po/ku.po @@ -0,0 +1,285 @@ +# translation of ku.po to Kurdish +# translation of mate-menus.HEAD.po to Kurdish +# Kurdish translation for mate-menus +# Copyright (c) (c) 2005 Canonical Ltd, and Rosetta Contributors 2005 +# This file is distributed under the same license as the mate-menus package. +# Erdal Ronahi <[email protected]>, 2005. +# Erdal Ronahi <[email protected]>, 2005. +# Erdal Ronahi <[email protected], [email protected]>, 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: ku\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-01-08 13:14+0100\n" +"PO-Revision-Date: 2007-08-13 14:13+0000\n" +"Last-Translator: Erdal Ronahi <[email protected]>\n" +"Language-Team: Kurdish <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2008-01-08 10:24+0000\n" +"X-Generator: Launchpad (build Unknown)\n" +"X-Poedit-Language: Kurdish\n" + +#: ../desktop-directories/Accessibility.directory.in.h:1 +#: ../desktop-directories/Settings-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Gihîştina Gerdûnî" + +#: ../desktop-directories/Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Mîhengên Gihîştina Gerdûnî" + +#: ../desktop-directories/Accessories.directory.in.h:1 +msgid "Accessories" +msgstr "Bernameyên Alîkar" + +#: ../desktop-directories/Accessories.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Bernameyên alîkar ên sermaseyê" + +#: ../desktop-directories/Applications.directory.in.h:1 +msgid "Applications" +msgstr "Sepan" + +#: ../desktop-directories/Desktop.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Vebijêrkên takekesî û mîhengên rêveberiyê" + +#: ../desktop-directories/Desktop.directory.in.h:2 +#: ../desktop-directories/System.directory.in.h:1 +msgid "System" +msgstr "Pergal" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Bernamekirin" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Amûrên ji bo pêşdebirina nivîsbariyê" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Perwerdehî" + +#: ../desktop-directories/Games.directory.in.h:1 +msgid "Games" +msgstr "Lîstik" + +#: ../desktop-directories/Games.directory.in.h:2 +msgid "Games and amusements" +msgstr "Lîstik û demxweşî" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafîk" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Sepanên grafîkê" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Hişkalav" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Mîhengên çend cîhazên hişkalavê" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Înternet û Tor" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Mîhengên têkildarî torê" + +#: ../desktop-directories/Internet.directory.in.h:1 +msgid "Internet" +msgstr "Înternet" + +#: ../desktop-directories/Internet.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Bernameyên wekî epeyam û gerokan yên ji bo pêwendiya înternetê" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Dîtin û Hestkirin" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Mîhengên xuyabûn û tevgerînên sermasê" + +#: ../desktop-directories/Multimedia.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Pêşeka multîmedya" + +#: ../desktop-directories/Multimedia.directory.in.h:2 +msgid "Sound & Video" +msgstr "Deng & Vîdeo" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Nivîsgeh" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Sepandinên Ofîsê" + +#: ../desktop-directories/Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Sepanên ku nakevin kategoriyên din" + +#: ../desktop-directories/Other.directory.in.h:2 +msgid "Other" +msgstr "Yên din" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Takekesî" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Mîhengên takekesî" + +#: ../desktop-directories/Preferences.directory.in.h:1 +msgid "Personal preferences" +msgstr "Vebijêrkên takekesî" + +#: ../desktop-directories/Preferences.directory.in.h:2 +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Vebijêrk" + +#: ../desktop-directories/Settings-Accessibility.directory.in.h:2 +msgid "Universal access related preferences" +msgstr "Vebijêrkên têkildarî gihîştina gerdûnî" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences and settings" +msgstr "Mîheng û vebijêrkên takekesî" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Mîhengên pergalê" + +#: ../desktop-directories/System-Settings.directory.in.h:1 +msgid "Administration" +msgstr "Rêveberî" + +#: ../desktop-directories/System-Settings.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Eyarên hemû pergalê biguherîne (ji bo hemû bikarhêneran derbas dibe)" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Amûrên Pergalê" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Avakirin û şopandina pergalê" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Edîtorê Pêşekê" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "Pêşekan biguherîne" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "_Sepan:" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "_Standard" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "_Pêşek:" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123 +msgid "Name" +msgstr "Nav" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115 +msgid "Show" +msgstr "Nîşan bide" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Peldanka mal nayê dîtin: di /etc/passwd nehat mîheng kirin û di environment " +"de nirxa $HOME tune" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Pelê pêşekê" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "PELÊ_PÊŞEKÊ" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Guherînên pêşekê temaşe bike" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Yên <hatiye derxistin> bihundirîne" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Ketinên (entry) NoDisplay=true bihundirîne" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "ID ya dosiya sermaseyê ne derbasdar e" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Navê pelî yê nederbasdar]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <hatiye derxistin>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Pêşek hat guherandin, ji nû ve tê bar kirin====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Dara pêşekê vala ye" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- bikaranîna Desktop Menu Specification a MATE'yê test bike" + +msgid "Accessibility" +msgstr "Gihîstin" + +msgid "Desktop" +msgstr "Sermasê" + +#~ msgid "Accessibility related preferences" +#~ msgstr "Vebijêrkên gihîştinê" diff --git a/po/ky.po b/po/ky.po new file mode 100644 index 0000000..ff0b8e4 --- /dev/null +++ b/po/ky.po @@ -0,0 +1,227 @@ +# Translation of mate-menus to Kirghiz +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) 2003,2004, 2005 Free Software Foundation, Inc. +# Timur Jamakeev <[email protected]>, 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus 2.12.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-10-28 22:47+0200\n" +"PO-Revision-Date: 2005-10-29 09:18+0600\n" +"Last-Translator: Timur Jamakeev <[email protected]>\n" +"Language-Team: Kirghiz\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.9.1\n" + +#: ../desktop-directories/Accessibility.directory.in.h:1 +#: ../desktop-directories/Settings-Accessibility.directory.in.h:1 +msgid "Accessibility" +msgstr "Ыңгайлуулуктар" + +#: ../desktop-directories/Accessibility.directory.in.h:2 +msgid "Accessibility Settings" +msgstr "Ыңгайлуулуктарды ырастоо" + +#: ../desktop-directories/Accessories.directory.in.h:1 +msgid "Accessories" +msgstr "Стандарттык иштемелер" + +#: ../desktop-directories/Accessories.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Иш столунун иштемелери" + +#: ../desktop-directories/Applications.directory.in.h:1 +msgid "Applications" +msgstr "Иштемелер" + +#: ../desktop-directories/Desktop.directory.in.h:1 +msgid "Desktop" +msgstr "Иш столу" + +#: ../desktop-directories/Desktop.directory.in.h:2 +msgid "Personal preferences and administration settings" +msgstr "Өздүк жактыруулар жана административдик параметрлер" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Программалоо" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Программа иштеп чыгуу аспаптары" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Билим берүү иштемелери" + +#: ../desktop-directories/Games.directory.in.h:1 +msgid "Games" +msgstr "Оюндар" + +#: ../desktop-directories/Games.directory.in.h:2 +msgid "Games and amusements" +msgstr "Оюндар жана эс алуу" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Графика" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Графикалык иштемелер" + +#: ../desktop-directories/Internet.directory.in.h:1 +msgid "Internet" +msgstr "Интернет" + +#: ../desktop-directories/Internet.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Интернет менен иштөө программалары (почта, аралагыч ж.б.)" + +#: ../desktop-directories/Multimedia.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Мультимедиа" + +#: ../desktop-directories/Multimedia.directory.in.h:2 +msgid "Sound & Video" +msgstr "Аудио и видео" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Офис" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Офистик иштемелер" + +#: ../desktop-directories/Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Эч бир категорияга туура келбеген иштемелер" + +#: ../desktop-directories/Other.directory.in.h:2 +msgid "Other" +msgstr "Башкалар" + +#: ../desktop-directories/Preferences.directory.in.h:1 +msgid "Personal preferences" +msgstr "Өздүк жактыруулар" + +#: ../desktop-directories/Preferences.directory.in.h:2 +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Ырастоолор" + +#: ../desktop-directories/Settings-Accessibility.directory.in.h:2 +msgid "Accessibility related preferences" +msgstr "Атайын мүмкүнчүлүктөргө байланышкан ырастоолор" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences and settings" +msgstr "Өздүк ырастоолор жана параметрлер" + +#: ../desktop-directories/System-Settings.directory.in.h:1 +msgid "Administration" +msgstr "Системаны башкаруу" + +#: ../desktop-directories/System-Settings.directory.in.h:2 +msgid "Change systemwide settings (affects all users)" +msgstr "Системалык ырастоолорду өзгөртүү (бардык колдонуучуларга таасир этет)" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Системалык аспаптар" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Системаны конфигурациялоо жана аны байкоо аспаптары" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Меню оңдогучу" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "Менюну оңдоо" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "_Иштемелер:" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "_Баштапкы" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "_Меню:" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123 +msgid "Name" +msgstr "Аты" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115 +msgid "Show" +msgstr "Көрсөтүү" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "Өздүк каталог табылбады: /etc/passwd ичинде дагы, $HOME өзгөрмөсү аркылуу дагы көрсөтүлгөн эмес" + +#: ../util/test-menu-spec.c:32 +msgid "Menu file" +msgstr "Меню файлы" + +#: ../util/test-menu-spec.c:32 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:33 +msgid "Monitor for menu changes" +msgstr "Менюдагы өзгөрүлүүлөрдү байкоо" + +#: ../util/test-menu-spec.c:34 +msgid "Include <Exclude>d entries" +msgstr "Алынып салынган (<Exclude>) элементтерди кошуу" + +#: ../util/test-menu-spec.c:89 +msgid "Invalid desktop file ID" +msgstr "desktop-файлынын туура эмес IDси" + +#: ../util/test-menu-spec.c:90 +msgid "[Invalid Filename]" +msgstr "[туура эмес файл аты]" + +#: ../util/test-menu-spec.c:91 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:162 +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Меню өзгөртүлдү, кайра жүктөлүүдө ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:167 ../util/test-menu-spec.c:203 +msgid "Menu tree is empty" +msgstr "Меню дарагы бош" + +#: ../util/test-menu-spec.c:186 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- MATEдо колдонулуучу Desktop Menu спецификациясынын ишке ашырылгандыгын текшерүү" + diff --git a/po/lt.po b/po/lt.po new file mode 100644 index 0000000..b39aee6 --- /dev/null +++ b/po/lt.po @@ -0,0 +1,280 @@ +# translation of lt.po to Lithuanian +# Lithuanian translation of mate-menus. +# Copyright (C) 2004-2007, 2008 Free Software Foundation, Inc. +# This file is distributed under the same license as the mate-menus package. +# +# I'm a rolling thunder, a pouring rain +# I'm comin' on like a hurricane +# +# Justina Klingaitė <[email protected]>, 2005. +# Žygimantas Beručka <[email protected]>, 2004-2007. +# Gintautas Miliauskas <[email protected]>, 2007, 2008. +msgid "" +msgstr "" +"Project-Id-Version: lt\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-15 02:11+0300\n" +"PO-Revision-Date: 2009-09-15 02:11+0300\n" +"Last-Translator: Gintautas Miliauskas <[email protected]>\n" +"Language-Team: Lithuanian <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%" +"100<10 || n%100>=20) ? 1 : 2);\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Daugialypės terpės meniu" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Garsas ir vaizdas" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programavimas" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Programinės įrangos kūrimo įrankiai" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Švietimas" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Žaidimai" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Žaidimai ir pramogos" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafika" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Grafinės programos" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Aparatinė įranga" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Kai kurių aparatinių įrenginių nustatymai" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internetas ir tinklas" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Su tinklu susiję nustatymai" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Išvaizda ir elgsena" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Darbo aplinkos išvaizdos ir elgsenos nustatymai" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internetas" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programos interneto prieigai (žiniatinklis, el. paštas)" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Raštinė" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Raštinės programos" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Asmeniniai" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Asmeniniai nustatymai" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Administravimas" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Keisti sisteminio masto nustatymus (paveikia visus naudotojus)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Asmeniniai nustatymai" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Nustatymai" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Sistema" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Sistemos nustatymai" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Sistemos įrankiai" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Sistemos konfigūravimas ir stebėjimas" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Universali prieiga" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Universalios prieigos nustatymai" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Reikmenys" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Darbo aplinkos reikmenys" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Programos" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Asmeniniai ir administravimo nustatymai" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Programos, kurios netiko kitose kategorijose" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Kitos" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Meniu redaktorius" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Redaguoti meniu" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Programos:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Numatytieji" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Meniu:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Paprastas meniu redaktorius %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Pavadinimas" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Rodyti" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Nepavyko rasti namų aplanko: /etc/passwd nenurodyta ir aplinkoje nėra $HOME " +"reikšmės" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Meniu failas" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENIU_FAILAS" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Stebėti meniu pakeitimus" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Įtraukti <Pašalint>us įrašus" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Įtraukti NoDisplay=true įrašus" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Netinkamas darbastalio failo ID" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Netaisyklingas failo vardas]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <pašalintas>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Meniu pakeistas, perkraunama ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Meniu medis yra tuščias" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- patikrinti MATE darbo aplinkos meniu specifikacijos įgyvendinimą" + +#~ msgid "Universal access related preferences" +#~ msgstr "Su universalia prieiga susiję nustatymai" + +#~ msgid "Personal preferences and settings" +#~ msgstr "Asmeniniai nustatymai" diff --git a/po/lv.po b/po/lv.po new file mode 100644 index 0000000..d34aae9 --- /dev/null +++ b/po/lv.po @@ -0,0 +1,261 @@ +# translation of lv.po to Latvian +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# Raivis Dejus <[email protected]>, 2006, 2007, 2009. +# Peteris Krisjanis <[email protected]>, 2010. +msgid "" +msgstr "" +"Project-Id-Version: lv\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug." +"cgi?product=mate-menus&component=general\n" +"POT-Creation-Date: 2010-03-28 07:09+0000\n" +"PO-Revision-Date: 2010-04-24 22:21+0300\n" +"Last-Translator: Peteris Krisjanis <[email protected]>\n" +"Language-Team: Latviešu <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Multimediju izvēlne" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Skaņa un video" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programmēšana" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Programmatūras izstrādes rīki" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Izglītība" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Spēles" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Spēles un izklaides programmas" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafika" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Grafikas programmas" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Aparatūra" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Dažu aparatūras ierīču iestatījumi" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internets un tīkli" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Ar tīklu saistīti iestatījumi" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Izskats un uzvedība" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Iestatījumi, kas nosaka darbvirsmas izskatu un uzvedību" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internets" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programmas darbam internetā kā tīmekļa pārlūkošana un e-pasts" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Birojs" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Biroja lietotnes" + +#. Translators: this is Personal as in "Personal settings" +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal" +msgstr "Personīgie" + +#: ../desktop-directories/Personal.directory.in.h:3 +msgid "Personal settings" +msgstr "Personīgie iestatījumi" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Administrēšana" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Sistēmas iestatījumu maiņa (ietekmē visus lietotājus)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Personīgie iestatījumi" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Iestatījumi" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Sistēma" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Sistēmas iestatījumi" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Sistēma rīki" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Sistēmas konfigurācija un pārraudzība" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Universālā piekļuve" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Universālās piekļuves iestatījumi" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Piederumi" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Darbvirsmas piederumi" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Lietotnes" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Personīgie un administrācijas iestatījumi" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Lietotnes, kas neiederas nevienā citā kategorijā" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Citas lietotnes" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Izvēlņu redaktors" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Izvēlņu rediģēšana" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Lietotnes:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Noklusētie" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Izvēlnes:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +#| msgid "Menu Editor" +msgid "Simple Menu Editor %s" +msgstr "Vienkāršs izvēlņu redaktors %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Nosaukums" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Rādīt" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Neizdodas atrast mājas direktoriju: tā nav norādīta /etc/passwd un nav arī " +"$HOME vides mainīgā" + +#~ msgid "Menu file" +#~ msgstr "Izvēlnes fails" + +#~ msgid "MENU_FILE" +#~ msgstr "MENU_FILE" + +#~ msgid "Monitor for menu changes" +#~ msgstr "Izvēlņu izmaiņu pārraugs" + +#~ msgid "Include <Exclude>d entries" +#~ msgstr "Pievienot <Exclude> ierakstus" + +#~ msgid "Include NoDisplay=true entries" +#~ msgstr "Pievienot NoDisplay=true ierakstus" + +#~ msgid "Invalid desktop file ID" +#~ msgstr "Nederīgs darbvirsmas faila ID" + +#~ msgid "[Invalid Filename]" +#~ msgstr "[Nederīgs faila nosaukums]" + +#~ msgid " <excluded>" +#~ msgstr " <excluded>" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "==== Menu changed, reloading ====\n" +#~ "\n" +#~ "\n" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "==== Izvēlne izmainīta, pārlādēju ==== \n" +#~ "\n" +#~ "\n" + +#~ msgid "Menu tree is empty" +#~ msgstr "Izvēlņu koks ir tukšs" + +#~ msgid "- test MATE's implementation of the Desktop Menu Specification" +#~ msgstr "" +#~ "- pārbaudiet MATE darbvirsmas izvēlņu specifikācijas implementāciju" diff --git a/po/mai.po b/po/mai.po new file mode 100644 index 0000000..c7815c0 --- /dev/null +++ b/po/mai.po @@ -0,0 +1,272 @@ +# translation of mate-menus.master.mai.po to Hindi +# translation of mate-menus.HEAD.po to +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Sangeeta Kumari <[email protected]>, 2008. +# Rajesh Ranjan <[email protected]>, 2009. +msgid "" +msgstr "" +"Project-Id-Version: mate-menus.master.mai\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n" +"POT-Creation-Date: 2009-06-21 17:35+0000\n" +"PO-Revision-Date: 2009-09-20 12:27+0530\n" +"Last-Translator: Rajesh Ranjan <[email protected]>\n" +"Language-Team: Hindi <hindi.sf.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n\n" +"\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "मल्टीमीडिया मेनू" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "ध्वनि आ वीडियो" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "प्रोग्रामिंग" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "साफ्टवेयर विकासक लेल अओजार" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "शिक्षा" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "खेल" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "खेल आ मनोरंजन" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "आलेखी" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "आलेखी अनुप्रयोगसभ" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "हार्डवेयर" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "कतेक हार्डवेयर युक्तिक लेल सेटिंग" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "इंटरनेट आ संजाल" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "संजाल संबंधित सेटिंग" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "रूप-रंग" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "डेस्कटाप रूपाकार आ व्यवहारक नियंत्रण करैबला सेटिंग" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "इंटरनेट" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "इंटरनेटसँ जुड़बाक लेल वेब आ इमेल जहिना प्रोग्राम" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "कार्यालय" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "कार्यालयक अनुप्रयोग" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "निजी" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "निजी सेटिंग" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "प्रशासन" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "तंत्र स्तरीय सेटिंग बदलू (सभटा प्रयोक्ता प्रभावित होइछ)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "निज वरीयतासभ" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "वरीयतासभ" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "तंत्र" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "तंत्र सेटिंग" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "सिस्टम अओजार" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "सिस्टम बिन्यास आ निरीक्षण" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "सार्वभौमिक पहुँच" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "सार्वभौमिक पहुँच सेटिंग" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "संलग्नक" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "डेस्कटाप संलग्नकसभ" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "अनुप्रयोग" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "निज वरीयता आ प्रशासनिक जमावट" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "अनुप्रयोगसभ जे आन श्रेणीमे सटीक नहि छला" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "आन" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "मेनू संपादक" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "मेनू संपादित करू" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "अनुप्रयोग (_A):" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "मूलभूत (_D)" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "मेनू (_M):" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +#| msgid "Menu Editor" +msgid "Simple Menu Editor %s" +msgstr "सरल मेनू संपादक %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "नाम" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "देखाबू" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"घर निर्देशिकाकेँ नहि पाबि सकैत अछि: /etc/passwd मे सेट नहि आओर $HOME क' लेल वातावरणमे " +"कोनो मान नहि अछि" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "मेनू फाइल" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "मेनू फाइल (_F)" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "मेनू परिवर्तनसभक लेल निरीक्षण" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "सामिल <Exclude> प्रविष्टि" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Include NoDisplay=true entries" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "अमान्य डेस्कटाप फाइल ID" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[अमान्य फाइलनाम]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== मेनू बदलल गेल, फिनु लोड कए रहल अछि ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "मेनू तरू रिक्त अछि" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- डेस्कटाप मेनू निर्दिष्टताक MATE कार्यान्वयन क' जाँच करू" + diff --git a/po/mg.po b/po/mg.po new file mode 100644 index 0000000..b1ef478 --- /dev/null +++ b/po/mg.po @@ -0,0 +1,237 @@ +# Malagasy translation of mate-menus. +# Copyright (C) 2006 THE mate-menus'S COPYRIGHT HOLDER +# This file is distributed under the same license as the mate-menus package. +# Fano Rajaonarisoa <[email protected]>, 2006. +# Thierry Randrianiriana <[email protected], 2006. +# +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-03-31 15:24+0300\n" +"PO-Revision-Date: 2006-04-07 10:42+0300\n" +"Last-Translator: Thierry Randrianiriana <[email protected]>\n" +"Language-Team: Malagasy <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit" + +#: ../desktop-directories/Accessibility.directory.in.h:1 +#: ../desktop-directories/Settings-Accessibility.directory.in.h:1 +msgid "Accessibility" +msgstr "Fanamorana" + +#: ../desktop-directories/Accessibility.directory.in.h:2 +msgid "Accessibility Settings" +msgstr "Fandrindrana ny fanamorana" + +#: ../desktop-directories/Accessories.directory.in.h:1 +msgid "Accessories" +msgstr "Fiasana" + +#: ../desktop-directories/Accessories.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Fiasan'ny desktop" + +#: ../desktop-directories/Applications.directory.in.h:1 +msgid "Applications" +msgstr "Rindran'asa" + +#: ../desktop-directories/Desktop.directory.in.h:1 +msgid "Desktop" +msgstr "Desktop" + +#: ../desktop-directories/Desktop.directory.in.h:2 +msgid "Personal preferences and administration settings" +msgstr "Safidy manokana sy fandrindrana ny fomba fitantanana" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Famolavolavolana" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Fitaovana ho an'ny mpamolavola rindran'asa" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Fanabeazana" + +#: ../desktop-directories/Games.directory.in.h:1 +msgid "Games" +msgstr "Lalao" + +#: ../desktop-directories/Games.directory.in.h:2 +msgid "Games and amusements" +msgstr "lalao sy fialam-boly" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Sary" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Rindran'asa fanaovan-tsary" + +#: ../desktop-directories/Internet.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Internet.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "" +"Rindran'asa ahafahana mifandray amin'ny Internet toy ny tranonkala sy ny " +"mailaka" + +#: ../desktop-directories/Multimedia.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Karazan-tsafidin'ny haino aman-jery" + +#: ../desktop-directories/Multimedia.directory.in.h:2 +msgid "Sound & Video" +msgstr "Feo sy sarimihetsika" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Office" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Rindran'asa Office" + +#: ../desktop-directories/Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Rindran'asa izay tsy tafiditra anaty sokajy hafa" + +#: ../desktop-directories/Other.directory.in.h:2 +msgid "Other" +msgstr "Hafa" + +#: ../desktop-directories/Preferences.directory.in.h:1 +msgid "Personal preferences" +msgstr "Safidy manokana" + +#: ../desktop-directories/Preferences.directory.in.h:2 +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Safidy" + +#: ../desktop-directories/Settings-Accessibility.directory.in.h:2 +msgid "Accessibility related preferences" +msgstr "Safidy mifandraika amin'ny fanamorana" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences and settings" +msgstr "Safidy sy fandrindrana manokana" + +#: ../desktop-directories/System-Settings.directory.in.h:1 +msgid "Administration" +msgstr "Fitantanana" + +#: ../desktop-directories/System-Settings.directory.in.h:2 +msgid "Change systemwide settings (affects all users)" +msgstr "" +"Hanova ny fandrindrana ny rafitra manontolo (mahakasika ny mpampiasa rehetra)" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Fitaovan'ny rafitra" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Fanefena sy fanaraha-maso ny rafitra" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Mpanova karazan-tsafidy" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "Hanova ny karazan-tsafidy" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "_Rindran'asa" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "_Fampiasa" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "_Karazan-tsafidy" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123 +msgid "Name" +msgstr "Anarana" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115 +msgid "Show" +msgstr "Asehoy" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Tsy hita ny laha-tahirin'ny fandraisana: tsy voafaritra ao anatin'ny /etc/passwd " +"ary tsy misy isa ho an'ny $HOME anatin'ny tontolo" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Rakitra karazan-tsafidy" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "RAKITRA_KARAZAN-TSAFIDY" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Mpandrindra ny fanovana ny karazan-tsafidy" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Ampidiro ao ireo fidirana <Exclude>d" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Ampidiro ao ireo fidirana NoDisplay=true" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "ID'ny rakitry ny desktop diso" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Anaran-drakitra diso]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <tsy tadiditra>" + +#: ../util/test-menu-spec.c:164 +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Voaova ny karazan-tsafidy. Miverina manokatra ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Foana ny hazon'ny karazan-tsafidy" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "" +"- manandrana ny fampiharan'ny MATE ny famaritana ny karazan-tsafidin'ny desktop" diff --git a/po/mk.po b/po/mk.po new file mode 100644 index 0000000..cd0c00f --- /dev/null +++ b/po/mk.po @@ -0,0 +1,277 @@ +# translation of mate-menus.HEAD.po to Macedonian +# translation of mate-menus. +# Copyright (C) 2005 THE mate-menus'S COPYRIGHT HOLDER +# This file is distributed under the same license as the mate-menus package. +# +# <>, 2005. +# Арангел Ангов <[email protected]>, 2005. +# Arangel Angov <[email protected]>, 2006. +# Jovan Naumovski <[email protected]>, 2006, 2007. +# Arangel Angov <[email protected]>, 2007. +msgid "" +msgstr "" +"Project-Id-Version: mate-menus.HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-02 03:41+0100\n" +"PO-Revision-Date: 2007-09-04 11:06+0200\n" +"Last-Translator: Arangel Angov <[email protected]>\n" +"Language-Team: Macedonian <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: ../desktop-directories/Accessibility.directory.in.h:1 +#: ../desktop-directories/Settings-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Универзален пристап" + +#: ../desktop-directories/Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Поставувања за универзален пристап" + +#: ../desktop-directories/Accessories.directory.in.h:1 +msgid "Accessories" +msgstr "Услужни" + +#: ../desktop-directories/Accessories.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Алатки за работната површина" + +#: ../desktop-directories/Applications.directory.in.h:1 +msgid "Applications" +msgstr "Апликации" + +#: ../desktop-directories/Desktop.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Лични преференции и администраторски поставувања" + +#: ../desktop-directories/Desktop.directory.in.h:2 +#: ../desktop-directories/System.directory.in.h:1 +msgid "System" +msgstr "Систем" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Програмирање" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Алатки за развој на софтвер" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Едукација" + +#: ../desktop-directories/Games.directory.in.h:1 +msgid "Games" +msgstr "Игри" + +#: ../desktop-directories/Games.directory.in.h:2 +msgid "Games and amusements" +msgstr "Игри и забава" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Графика" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Графички апликации" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Хардвер" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Поставувања за неколку хардверски уреди" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Интернет и мрежа" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Поставувања кои се однесуваат на мрежа" + +#: ../desktop-directories/Internet.directory.in.h:1 +msgid "Internet" +msgstr "Интернет" + +#: ../desktop-directories/Internet.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Програми за пристап на интернет" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Изглед" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Поставувања кои го контролираат изгледот на работната површина и однесувањето" + +#: ../desktop-directories/Multimedia.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Мени со мултимедија" + +#: ../desktop-directories/Multimedia.directory.in.h:2 +msgid "Sound & Video" +msgstr "Звук и видео" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Канцелариски" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Канцелариски апликации" + +#: ../desktop-directories/Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Апликации кои што не влегуваат во ниедна категорија" + +#: ../desktop-directories/Other.directory.in.h:2 +msgid "Other" +msgstr "Други" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Лично" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Лични поставувања" + +#: ../desktop-directories/Preferences.directory.in.h:1 +msgid "Personal preferences" +msgstr "Лични преференции" + +#: ../desktop-directories/Preferences.directory.in.h:2 +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Преференции" + +#: ../desktop-directories/Settings-Accessibility.directory.in.h:2 +msgid "Universal access related preferences" +msgstr "Преференции поврзани со универзалниот пристап" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences and settings" +msgstr "Лични преференции и поставувања" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Системски поставувања" + +#: ../desktop-directories/System-Settings.directory.in.h:1 +msgid "Administration" +msgstr "Администрација" + +#: ../desktop-directories/System-Settings.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Промени ги поставувањата на целиот систем (има ефект врз сите корисници)" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Системски алатки" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Конфигурација и надгледување на системот" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Уредувач за менија" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "Уреди менија" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "_Апликации:" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "_Стандардни" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "_Менија:" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123 +msgid "Name" +msgstr "Име" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115 +msgid "Show" +msgstr "Покажи" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Не можам да го пронајдам домашниот директориум: не е поставен во /etc/passwd " +"и нема вредност за $HOME во околината." + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Датотека за менито" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "ДАТОТЕКА_ЗА МЕНИТО" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Надгледувај промени во менито" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Вклучи <Исклучени> записи" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Вклучи без приказ=вистински записи" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Невалидна идентификација на датотеката" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Невалидно име на датотека]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <исклучено>" + +#: ../util/test-menu-spec.c:164 +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Промена во менито, освежувам ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Дрвото на менито е празно" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "" +"- тест имплементација на спецификацијата за менито на работната површина на " +"MATE" + diff --git a/po/ml.po b/po/ml.po new file mode 100644 index 0000000..4646cd6 --- /dev/null +++ b/po/ml.po @@ -0,0 +1,269 @@ +# translation of mate-menus.master.ml.po to +# This file is distributed under the same license as the mate-menus package. +# Copyright (C) 2007-2008 mate-menus' COPYRIGHT HOLDER. +# Ani Peter <[email protected]>, 2006. +# Praveen|പ്രവീണ് A|എ <[email protected]>, 2007,2008. +# Ani Peter <[email protected]>, 2007. +# Reviewed by Santhosh Thottingal <[email protected]> +msgid "" +msgstr "" +"Project-Id-Version: mate-menus.master.ml\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n" +"POT-Creation-Date: 2009-06-21 17:35+0000\n" +"PO-Revision-Date: 2009-09-12 18:29+0530\n" +"Last-Translator: \n" +"Language-Team: <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "മള്ട്ടീമീഡിയ മെനു" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "ശബ്ദവും ചലച്ചിത്രവും" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "പ്രോഗ്രാമിങ്" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "സോഫ്റ്റ്വെയര് വികസനത്തിനു് ആവശ്യമുളള പണിയായുധങ്ങള്" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "വിദ്യാഭ്യാസം" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "കളികള്" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "കളികളും വിനോദങ്ങളും" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "ഗ്രാഫിക്സ്" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "ഗ്രാഫിക്സ് പ്രയോഗങ്ങള്" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "ഹാര്ഡ്വെയര്" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "പലയിനം ഹാര്ഡ്വെയര് ഉപകരണങ്ങള്ക്കുള്ള സജ്ജീകരണങ്ങള്" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "ഇന്റര്നെറ്റും ശൃംഖലയും" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "ശൃംഖലയുമായി ബന്ധപ്പെട്ട സജ്ജീകരണങ്ങള്" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "ചമയം" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "പണിയിടത്തിന്റെ കാഴ്ചയും പെരുമാറ്റവും നിയന്ത്രിയ്ക്കുന്ന സജ്ജീകരണങ്ങള്" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "ഇന്റര്നെറ്റ്" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "ഇന്റര്നെറ്റ് ലഭ്യതയ്ക്കാവശ്യമുളള പ്രോഗ്രാമുകളായ വെബും ഇമെയിലും" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "ഓഫീസ്" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "ഓഫീസ് പ്രയോഗങ്ങള്" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "സ്വകാര്യം" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "സ്വകാര്യ സജ്ജീകരണങ്ങള്" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "ഭരണം" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "സിസ്റ്റം മുഴുവനുളള സജ്ജീകരണങ്ങളില് മാറ്റം വരുത്തുക (എല്ലാ ഉപയോക്താക്കളേയും ബാധിക്കുന്നു)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "സ്വകാര്യ മുന്ഗണനകള്" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "മുന്ഗണനകള്" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "സിസ്റ്റം" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "സിസ്റ്റത്തിന്റെ സജ്ജീകരണങ്ങള്" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "സിസ്റ്റത്തിലെ പണിയായുധങ്ങള്" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "സിസ്റ്റത്തിന്റെ ക്രമീകരണവും നിരീക്ഷണവും" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "സാര്വ്വജനികലഭ്യത" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "സാര്വ്വജനികലഭ്യതാ സജ്ജീകരണങ്ങള്" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "ഉപകരണങ്ങള്" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "പണിയിടോപകരണങ്ങള്" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "പ്രയോഗങ്ങള്" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "സ്വകാര്യ മുന്ഗണനകളും ഭരണ സജ്ജീകരണങ്ങളും" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "മറ്റു് വിഭാഗങ്ങളില് ഉള്പ്പെടാത്ത പ്രയോഗങ്ങള്" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "മറ്റുളളവ" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "മെനു മാറ്റുന്നിടം" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "മെനുകള് മാറ്റുക" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_പ്രയോഗങ്ങള്:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_സഹജമായവ" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_മെനുകള്:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +#| msgid "Menu Editor" +msgid "Simple Menu Editor %s" +msgstr "ലളിതമായ മെനു മാറ്റുന്നിടം %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "പേരു്" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "കാണിയ്ക്കുക" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "സ്വന്തം തട്ടു് കണ്ടുകിട്ടിയില്ല: /etc/passwd ല് മാത്രമല്ല പരിസരത്തും $HOME നു് വിലയില്ല" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "മെനു ഫയല്" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "മെനു _ഫയല്" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "മെനുവില് വരുത്തുന്ന മാറ്റങ്ങള് നിരീക്ഷിയ്ക്കുക" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "<Exclude> ചെയ്ത എന്ട്രികളും ഉള്പ്പെടുത്തുക" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "NoDisplay=true എന്ന എന്ട്രികളും ഉള്പ്പെടുത്തുക" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "അസാധുവായ പണിയിട ഫയലിന്റെ ഐഡി" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[ഫയലിന്റെ പേരു് അസാധുവാണു്]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== മെനു മാറ്റിയിരിക്കുന്നു, വീണ്ടും ലഭ്യമാക്കിക്കൊണ്ടിരിയ്ക്കുന്നു ====\n" +"\n" +", \n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "മെനു ട്രീ ശൂന്യമാണു്" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- ഗ്നോമിന്റെ പണിയിട മെനു സ്പെസിഫിക്കേഷന് നടപ്പിലാക്കിയിരിയ്ക്കുന്നതെങ്ങനെയാണെന്നു് പരീക്ഷിയ്ക്കുക" + diff --git a/po/mn.po b/po/mn.po new file mode 100644 index 0000000..1b3e62c --- /dev/null +++ b/po/mn.po @@ -0,0 +1,273 @@ +# translation of mn.po to Mongolian +# translation of PACKAGE. +# Copyright (C) 2006 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# <>, 2006. +# Badral <[email protected]>, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: mn\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-" +"menus&component=general\n" +"POT-Creation-Date: 2010-02-22 11:08+0000\n" +"PO-Revision-Date: 2010-03-22 18:20+0200\n" +"Last-Translator: Badral <[email protected]>\n" +"Language-Team: Mongolian <[email protected]>\n" +"Language: mn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Pootle 2.0.3\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Мультимедиа цэс" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Дуу & Видео" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Програмчилал" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Програм хөгжүүлэлийн хэрэгслүүд" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Боловсрол" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Тоглоом" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Тоглоом, зугаа цэнгэл" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "График" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "График програмууд" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Техник хангамж" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Техник хангамжийн тохиргоо" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Интернет болон сүлжээ" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Сүлжээтэй холбоотой тохиргоо" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Харагдах байдал" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Ажлын талбарын харагдалт ба харьцааны тохиргоо" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Интернэт" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Вэб болон э-шуудан гэх мэт интернэт хандалтын програмууд" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Офис" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Офисын програмууд" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Хувийн" + +#: ../desktop-directories/Personal.directory.in.h:2 +#| msgid "Personal preferences and settings" +msgid "Personal settings" +msgstr "Хувийн тохиргоо" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Удирдлага" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +#| msgid "Change systemwide settings (affects all users)" +msgid "Change system-wide settings (affects all users)" +msgstr "Систем нийтийн тохируулгыг өөрчлөх (бүх хэрэглэгчдэд нөлөөлнө)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Хувийн тохиргоо" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Тохиргоо" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +#| msgid "System Tools" +msgid "System" +msgstr "Систем" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Системийн тохиргоо" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Системийн хэрэгслүүд" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Системийн тохиргоо болон хяналт" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Саадгүй хандалт" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +#| msgid "Accessibility Settings" +msgid "Universal Access Settings" +msgstr "Саадгүй хандалтын тохиргоо" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Нэмэлт төхөөрөмж" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Дэлгэцийн нэмэлт төхөөрөмжүүд" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Програмууд" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Хувийн тохиргоо болон удирдлагын тохируулгууд" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Бусад ангилалд тохирохгүй програмууд" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Бусад" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Цэс засварлагч" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Цэс засварлах" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "Програмууд:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "Өгөгдмөл" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "Цэсүүд:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +#| msgid "Menu Editor" +msgid "Simple Menu Editor %s" +msgstr "Хялбар цэс засварлагч %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Нэр" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Харуулах" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Хэрэглэгчийн гэр лавлах олдохгүй байна: /etc/passwd болон орчны хувьсагч " +"$HOME-д ч утга олгогдоогүй байна" + +#~ msgid "Accessibility" +#~ msgstr "Хандалт" + +#~ msgid "Desktop" +#~ msgstr "Ажлын талбар" + +#~ msgid "Accessibility related preferences" +#~ msgstr "Хандалттай холбоотой тохиргоонууд" + +#~ msgid "Menu file" +#~ msgstr "Цэс файл" + +#~ msgid "MENU_FILE" +#~ msgstr "ЦЭС_ФАЙЛ" + +#~ msgid "Monitor for menu changes" +#~ msgstr "Цэс өөрчилөлтийн хяналт" + +#~ msgid "Include <Exclude>d entries" +#~ msgstr "<Хассан> элементүүд оруулах" + +#~ msgid "Include NoDisplay=true entries" +#~ msgstr "NoDisplay=true элемент оруулах" + +#~ msgid "Invalid desktop file ID" +#~ msgstr "Хүчингүй ажлын талбар файлын ID" + +#~ msgid "[Invalid Filename]" +#~ msgstr "[Хүчингүй файлын нэр]" + +#~ msgid " <excluded>" +#~ msgstr "<Хасагдсан>" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "==== Menu changed, reloading ====\n" +#~ "\n" +#~ "\n" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "==== Цэс өөрчлөгдсөн, дахин ачаалж байна ====\n" +#~ "\n" +#~ "\n" + +#~ msgid "Menu tree is empty" +#~ msgstr "Цэсийн мод хоосон байна" + +#~ msgid "- test MATE's implementation of the Desktop Menu Specification" +#~ msgstr "- MATE-н Desktop Menu Specification програмчилалыг шалгах" diff --git a/po/mr.po b/po/mr.po new file mode 100644 index 0000000..fe3d644 --- /dev/null +++ b/po/mr.po @@ -0,0 +1,274 @@ +# translation of mr.po to Marathi +# Marathi Translation of mate-menus +# Copyright (C) 2005, 2006, 2008, 2009 Free Software Foundation, Inc. +# This file is distributed under the same license as the mate-menus package. +# +# FIRST AUTHOR: Gayatri Deshpande <[email protected]>, 2005. +# Rahul Bhalerao <[email protected]>, 2006. +# Sandeep Shedmake <[email protected]>, 2008, 2009. +# Sandeep Shedmake <[email protected]>, 2009. +msgid "" +msgstr "" +"Project-Id-Version: mr\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n" +"POT-Creation-Date: 2009-06-21 17:35+0000\n" +"PO-Revision-Date: 2009-09-11 19:31+0530\n" +"Last-Translator: Sandeep Shedmake <[email protected]>\n" +"Language-Team: Marathi <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "मल्टीमिडीया मेन्यू" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "आवाज व चलचित्र" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "प्रोग्रामिंग" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "सॉफ्टवेयर बनवण्यासाटीचे औजार" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "शिक्षण" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "खेळ" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "खेळ व मनोरंजन" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "चित्र-विज्ञान" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "चित्र-विज्ञान उपकरणं" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "हार्डवेअर" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "विविध हार्डवेअर साधन करीता संयोजना" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "महाजाळ व संजाळ" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "संजाळ-संबंधी संयोजना" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "दृश्य व प्रभाव" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "डेस्कटॉप दृश्य व वागणूक नियंत्रीत करणारी संयोजना" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "इंटरनेट" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "इंटरनेट वेब व ईमेल बघण्यासाठी प्रोग्राम" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "कार्यालय" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "कार्यालय संबंधित उपकरणं" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "व्यक्तिगत" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "व्यक्तिगत संयोजना" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "व्यवथापन" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "प्रणाली-करीताचे संयोजना बदलवा (सर्व वापरकर्ते प्रभावीत होतात)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "व्यक्तिगत प्राधान्यता" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "प्राधान्ये" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "प्रणाली" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "प्रणाली संयोजना" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "यंत्रणे संबंधित औजार" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "यंत्रणेचे सुसुत्रीकरण व संचलन" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "जागतीक प्रवेश" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "जागतीक प्रवेश संयोजना" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "शिवाय उपकरणं" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "डेस्कटॉपशी निगडित शिवाय उपकरणं" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "उपकरणं" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "व्यक्तिगत प्राधान्यता व प्रशासकीय रचना" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "उपकरणं जे दुसरया कुठल्याही गटांत बसले नाही" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "अन्य" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "मेन्यू संपादक" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "मेन्यू संपादा" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "उपकरणं (_A):" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "पूर्वनिर्धारीत (_D)" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "मेन्यूज् (_M):" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +#| msgid "Menu Editor" +msgid "Simple Menu Editor %s" +msgstr "सोपे मेन्यू संपादक %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "शिर्षक" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "दाखवा" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"गृह निर्देशिका शोधता आली नाही: /etc/passwd निर्धारित नाही आणि $HOME या चलनासाठी " +"पर्यावरणात मुल्य नाही" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "मेन्यू फाइल" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "मेन्यूमधील बदलांसाठी निरिक्षक" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "<Exclude>केलेली प्रविष्टे समाविष्ट करा" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "NoDisplay=true प्रविष्टे समाविष्ट करा" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "अवैध कार्यस्थळ फाइल आयडी" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[अवैध फाइलनाम]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <वगळले>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== मेन्यू बदलला, पुनःलोड होत आहे ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "मेन्यू वृक्ष रिकामे आहे" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- MATE चा कार्यस्थळ मेन्यू नोंदींचा अवलंब तपासा" + diff --git a/po/ms.po b/po/ms.po new file mode 100644 index 0000000..637ce94 --- /dev/null +++ b/po/ms.po @@ -0,0 +1,2260 @@ +# mate-menu Bahasa Melayu (ms) +# +# Hasbullah Bin Pit (sebol) <[email protected]>, 2004 +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menu HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-01-10 17:49+0000\n" +"PO-Revision-Date: 2004-08-09 21:51+0730\n" +"Last-Translator: Hasbullah Bin Pit <[email protected]>\n" +"Language-Team: ms <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: desktop-directories/Accessibility.directory.in.h:1 +#: desktop-directories/Settings-Accessibility.directory.in.h:1 +msgid "Accessibility" +msgstr "Kebolehcapaian" + +#: desktop-directories/Accessibility.directory.in.h:2 +msgid "Accessibility Settings" +msgstr "Tetapan Kebolehcapaian" + +#: desktop-directories/Accessories.directory.in.h:1 +msgid "Accessories" +msgstr "Aksesori" + +#: desktop-directories/Accessories.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Aksesori Desktop" + +#: desktop-directories/Applications.directory.in.h:1 +msgid "Applications" +msgstr "Aplikasi" + +#: desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Pengaturcaraan" + +#: desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Alatan untuk pembangunan perisian" + +#: desktop-directories/Edutainment.directory.in.h:1 +msgid "Edutainment" +msgstr "Infodidik" + +#: desktop-directories/Games.directory.in.h:1 +msgid "Games" +msgstr "Permainan" + +#: desktop-directories/Games.directory.in.h:2 +msgid "Games and amusements" +msgstr "Permainan dan hiburan" + +#: desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafik" + +#: desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Aplikasi Grafik" + +#: desktop-directories/Internet.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: desktop-directories/Internet.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Program untuk mengakses Internet seperti web dan emel" + +#: desktop-directories/Multimedia.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Menu Multimedia" + +#: desktop-directories/Multimedia.directory.in.h:2 +msgid "Sound & Video" +msgstr "Bunyi & Video" + +#: desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Pejabat" + +#: desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Aplikasi Pejabat" + +#: desktop-directories/Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Aplikasi yang tak sesuai bagi kategori lain" + +#: desktop-directories/Other.directory.in.h:2 +msgid "Other" +msgstr "Lain-lain" + +#: desktop-directories/Settings-Accessibility.directory.in.h:2 +msgid "Accessibility related preferences" +msgstr "Keutamaan berkaitan kebolahcapaian" + +#: desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences and settings" +msgstr "Tetapan dan keutamaan peribadi" + +#: desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Keutamaan" + +#: desktop-directories/System-Settings.directory.in.h:1 +#, fuzzy +msgid "Administration" +msgstr "Orientasi" + +#: desktop-directories/System-Settings.directory.in.h:2 +msgid "Change systemwide settings (affects all users)" +msgstr "Tukar tetapan seluruh sistem (melibatkan semua pengguna)" + +#: desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Alatan Sistem" + +#: desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Konfigurasi dan monitor sistem" + +#~ msgid "System Settings" +#~ msgstr "Tetapan Sistem" + +#~ msgid "Ad_just Date & Time" +#~ msgstr "_Betulkan Tarikh & Masa" + +#~ msgid "Copy _Date" +#~ msgstr "Salin _Tarikh" + +#~ msgid "Copy _Time" +#~ msgstr "Salin _Masa" + +#~ msgid "_About" +#~ msgstr "_Perihal" + +#~ msgid "_Help" +#~ msgstr "_Bantuan" + +#~ msgid "Clock" +#~ msgstr "Jam" + +#~ msgid "Clock Applet Factory" +#~ msgstr "Kilang Aplet Jam" + +#~ msgid "Factory for creating clock applets." +#~ msgstr "kilang untuk mencipta aplet jam" + +#~ msgid "Get the current time and date" +#~ msgstr "Dapatkan masa dan tarikh semasa" + +#~ msgid "%l:%M:%S %p" +#~ msgstr "%l:%M:%S %p" + +#~ msgid "%l:%M %p" +#~ msgstr "%l:%M %p" + +#~ msgid "%H:%M:%S" +#~ msgstr "%H:%M:%S" + +#~ msgid "%H:%M" +#~ msgstr "%H:%M" + +#~ msgid "%a %b %e" +#~ msgstr "%a %e %b" + +#~ msgid "" +#~ "%1$s\n" +#~ "%2$s" +#~ msgstr "" +#~ "%1$s\n" +#~ "%2$s" + +#~ msgid "%1$s, %2$s" +#~ msgstr "%1$s, %2$s" + +#~ msgid "%A %B %d" +#~ msgstr "%A %e %B" + +#~ msgid "%b %d" +#~ msgstr "%d %b" + +#~ msgid "Tasks" +#~ msgstr "Tugas" + +#~ msgid "All Day" +#~ msgstr "Sepanjang Hari" + +#~ msgid "Appointments" +#~ msgstr "Temujanji" + +#~ msgid "Calendar" +#~ msgstr "Kalendar" + +#~ msgid "Computer Clock" +#~ msgstr "Jam Komputer" + +#~ msgid "%I:%M:%S %p" +#~ msgstr "%l:%M:%S %p" + +#~ msgid "%I:%M %p" +#~ msgstr "%I:%M %p" + +#~ msgid "%A, %B %d %Y" +#~ msgstr "%A, %d %B %Y" + +#~ msgid "Failed to launch time configuration tool: %s" +#~ msgstr "Gagal mmelancarkan radas konfigurasi:%s" + +#~ msgid "" +#~ "Failed to locate a program for configuring the date and time. Perhaps " +#~ "none is installed?" +#~ msgstr "" +#~ "Gagal menjumpai program untuk mengkonfigurasi tarikh dan masa. Mungkin " +#~ "tak dipasang?" + +#~ msgid "Custom format" +#~ msgstr "Format Tersendiri" + +#~ msgid "There was an error displaying help: %s" +#~ msgstr "Terdapat ralat memapar bantuan: %s" + +#~ msgid "Clock Preferences" +#~ msgstr "Keutamaan Jam" + +#~ msgid "Clock _type:" +#~ msgstr "_Jenis jam:" + +#~ msgid "12 hour" +#~ msgstr "12 jam" + +#~ msgid "24 hour" +#~ msgstr "24 jam" + +#~ msgid "UNIX time" +#~ msgstr "Masa UNIX" + +#~ msgid "Custom _format:" +#~ msgstr "_Format tersendiri:" + +#~ msgid "Show _seconds" +#~ msgstr "Papar _saat" + +#~ msgid "Show _date" +#~ msgstr "Papar _tarikh" + +#~ msgid "Use _UTC" +#~ msgstr "Guna _UTC" + +#~ msgid "translator-credits" +#~ msgstr "Hasbullah Bin Pit <[email protected]>, Merlimau. 2002-2004" + +#~ msgid "The Clock displays the current time and date" +#~ msgstr "Jam memapar masa dan tarikh semasa" + +#~ msgid "24" +#~ msgstr "24" + +#~ msgid "24-hour" +#~ msgstr "24-hour" + +#~ msgid "Custom format of the clock" +#~ msgstr "Format tersendiri bagi jam" + +#~ msgid "Hour format" +#~ msgstr "Format Jam" + +#~ msgid "If true, display date in the clock, in addition to time." +#~ msgstr "Jika benar, papar tarikh pada Jam, sebagai tambahan kepada masa." + +#~ msgid "If true, display seconds in time." +#~ msgstr "Jika benar, Papar saat pada masa." + +#~ msgid "If true, display time in Universal Coordinated Time zone." +#~ msgstr "Jika benar, papar masa dalam Zon Masa Koordinat Universal (UTC)" + +#~ msgid "If true, show date in a tooltip when the pointer is over the clock." +#~ msgstr "Jika benar, papar tarikh pada tooltip bila tetikus di atas Jam." + +#~ msgid "Show date in clock" +#~ msgstr "Papar tarikh pada jam" + +#~ msgid "Show date in tooltip" +#~ msgstr "Papar tarikh di tooltip" + +#~ msgid "Show time with seconds" +#~ msgstr "Papar masa bersama saat" + +#~ msgid "" +#~ "The use of this key was deprecated in MATE 2.6 in favour of the 'format' " +#~ "key. The schema is retained for compatibility with older versions." +#~ msgstr "" +#~ "Kegunaan kekunci ini telah ditiadakan pada MATE 2.6 in favour of the " +#~ "'format' key. The schema is retained for compatibility with older " +#~ "versions." + +#~ msgid "" +#~ "This key specifies the program to run in order to configure the time." +#~ msgstr "Kekunci menyatakan program dilaksanakan untuk mengkonfigurasi masa." + +#~ msgid "Use Internet time" +#~ msgstr "Guna Masa Internet" + +#~ msgid "Use UNIX time" +#~ msgstr "Guna masa UNIX" + +#~ msgid "Use UTC" +#~ msgstr "Guna UTC" + +#~ msgid "Display a swimming fish or another animated creature" +#~ msgstr "Papar ikan berenang atau makhluk bergerak lain" + +#~ msgid "Fish" +#~ msgstr "Ikan" + +#~ msgid "From Whence That Stupid Fish Came" +#~ msgstr "Daripada mana ikan bodoh itu datang" + +#~ msgid "Wanda Factory" +#~ msgstr "Kilang Wanda" + +#~ msgid "" +#~ "Warning: The command appears to be something actually useful.\n" +#~ "Since this is a useless applet, you may not want to do this.\n" +#~ "We strongly advise you against using %s for anything\n" +#~ "which would make the applet \"practical\" or useful." +#~ msgstr "" +#~ "Amaran: arahan nampaknya menjadi sesuatu yang berguna.\n" +#~ "Oleh kerana ini adalah aplet tak berguna, anda tak perlu melakukannya.\n" +#~ "Kami menasihatkan anda menolak penggunaan %s untuk apa-apa\n" +#~ "yang mana menjadikan aplet \"praktikal\" atau berguna." + +#~ msgid "%s the Fish" +#~ msgstr "Ikan %" + +#~ msgid "" +#~ "%s has no use what-so-ever. It only takes up disk space and compilation " +#~ "time, and if loaded it also takes up precious panel space and memory. If " +#~ "anyone is found using it, he should be promptly sent for a psychiatric " +#~ "evaluation." +#~ msgstr "" +#~ "%s ini tiada gunanya. Ianya hanya mengambil ruang cakera dan masa " +#~ "pengkompilan, dan jika ianya dimuatkan ia juga mengambil ruang berharga " +#~ "panel dan memori Jika sesiapa didapati menggunakan aplet ini, dia patut " +#~ "diperiksa oleh pakar sakit jiwa." + +#~ msgid "(with minor help from George)" +#~ msgstr "(dengan sedikit bantuan George)" + +#~ msgid "%s the Fish, a contemporary oracle" +#~ msgstr "Ikan MATE %s , peramal kontemporari" + +#~ msgid "Unable to locate the command to execute" +#~ msgstr "Tak menjumpai arahan untuk dilaksanakan" + +#~ msgid "%s the Fish Says:" +#~ msgstr "%s Ikan MATE Berkata:" + +#~ msgid "" +#~ "Unable to read output from command\n" +#~ "\n" +#~ "Details: %s" +#~ msgstr "" +#~ "Tak dapat membaca output drpd arahan\n" +#~ "\n" +#~ "Perincian: %s" + +#~ msgid "" +#~ "Unable to execute '%s'\n" +#~ "\n" +#~ "Details: %s" +#~ msgstr "" +#~ "Tak dapat melaksanakan '%s'\n" +#~ "\n" +#~ "Perincian: %s" + +#~ msgid "" +#~ "Unable to read from '%s'\n" +#~ "\n" +#~ "Details: %s" +#~ msgstr "" +#~ "Tak dapat membaca daripada '%s'\n" +#~ "\n" +#~ "Perincian: %s" + +#~ msgid "" +#~ "The water needs changing!\n" +#~ "(Look at today's date)" +#~ msgstr "" +#~ "Perairan memerlukan reformasi!\n" +#~ "(lihat tarikh hari ini)" + +#~ msgid "%s the Fish, the fortune teller" +#~ msgstr "Ikan %s, penilik nasib" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "<b>Animation</b>" +#~ msgstr "<b>Animasi</b>" + +#~ msgid "<b>General</b>" +#~ msgstr "<b>Umum</b>" + +#~ msgid "Browse" +#~ msgstr "Lungsur" + +#~ msgid "Co_mmand to run when clicked:" +#~ msgstr "_Arahan dilaksanakan bila diklik:" + +#~ msgid "Fish Preferences" +#~ msgstr "Keutamaan Ikan" + +#~ msgid "_File:" +#~ msgstr "_Fail:" + +#~ msgid "_Name of fish:" +#~ msgstr "_Nama ikan:" + +#~ msgid "_Pause per frame:" +#~ msgstr "_Kaku per kerangka:" + +#~ msgid "_Rotate on vertical panels" +#~ msgstr "_Kilas pada panel menegak" + +#~ msgid "_Total frames in animation:" +#~ msgstr "_Jumlah kerangka pada animasi:" + +#~ msgid "seconds" +#~ msgstr "saat" + +#~ msgid "" +#~ "A fish without a name is a pretty dull fish. Bring your fish to life by " +#~ "naming him." +#~ msgstr "" +#~ "Ikan tanpa nama adalah ikan yg membosankan. Berikan erti kehidupan " +#~ "padanya dengan menamakanya." + +#~ msgid "Command to execute on click" +#~ msgstr "Arahan untuk dilaksanakan bila diklik" + +#~ msgid "Frames in fish's animation" +#~ msgstr "Kerangka pada animasi ikan" + +#~ msgid "" +#~ "If true, the fish's animation will be displayed rotated on vertical " +#~ "panels." +#~ msgstr "Jika benar, animasi ikan akan dipaparkan dikilas pada panel menegak" + +#~ msgid "Pause per frame" +#~ msgstr "Hentian per kerangka" + +#~ msgid "Rotate on vertical panels" +#~ msgstr "Kilas pada panel menegak" + +#~ msgid "The fish's animation pixmap" +#~ msgstr "Pixmap animasi ikan" + +#~ msgid "The fish's name" +#~ msgstr "Nama ikan" + +#~ msgid "" +#~ "This key specifies the command that will be tried to execute when the " +#~ "fish is clicked." +#~ msgstr "" +#~ "Kekunci ini menyatakan arahan yang akan cuba dilaksanakan bila ikan di " +#~ "klik." + +#~ msgid "" +#~ "This key specifies the filename of the pixmap which will be used for the " +#~ "animation displayed in the fish applet relative to the pixmap directory." +#~ msgstr "" +#~ "Kekunci ini menyatakan namafail bagi pixmap dimana akan digunakan bagi " +#~ "animasi yg dipaparkan pada plat ikan relatif ke direktori pixmap." + +#~ msgid "" +#~ "This key specifies the number of frames that will be displayed in the " +#~ "fish's animation." +#~ msgstr "" +#~ "Kekunci ini menyatakan bilangan kerangka yang akan dipaparkan pada " +#~ "animasi ikan." + +#~ msgid "" +#~ "This key specifies the number of seconds each frame will be displayed." +#~ msgstr "" +#~ "Kekunci ini menyatakan bilangan saat setiap kerangkan akan dipaparkan." + +#~ msgid "Area where notification icons appear" +#~ msgstr "Kawasan di mana ikon pemakluman muncul" + +#~ msgid "Notification Area" +#~ msgstr "Kawasan Pemakluman" + +#~ msgid "Notification Area Factory" +#~ msgstr "Kilang Kawasan Pemakluman" + +#~ msgid "The orientation of the tray." +#~ msgstr "Orientasi bagi dulang." + +#~ msgid "Panel Notification Area" +#~ msgstr "Kawasan Pemakluman Panel" + +#~ msgid "Factory for the window navigation related applets" +#~ msgstr "kilang untuk navigasi tetingkap berkaitan aplet" + +#~ msgid "Hide application windows and show the desktop" +#~ msgstr "Sembunyi tetingkap aplikasi dan papar desktop" + +#~ msgid "Show Desktop" +#~ msgstr "Papar Desktop" + +#~ msgid "Switch between open windows" +#~ msgstr "Tukar antara tetingkap dibuka" + +#~ msgid "Switch between workspaces" +#~ msgstr "Tukar antara ruangkerja" + +#~ msgid "Window List" +#~ msgstr "Senarai Tetingkap" + +#~ msgid "Window Navigation Applet Factory" +#~ msgstr "Kilang Aplet Navigasi Tetingkap" + +#~ msgid "Window Selector" +#~ msgstr "Pemilih Tetingkap" + +#~ msgid "Workspace Switcher" +#~ msgstr "Penukar RuangKerja" + +#~ msgid "Click here to restore hidden windows." +#~ msgstr "Klik sini untuk mengembalikan tetingkap tersembunyi." + +#~ msgid "Click here to hide all windows and show the desktop." +#~ msgstr "Klik sini untuk sembunyi semua tetingkap dan papar desktop." + +#~ msgid "Failed to load %s: %s\n" +#~ msgstr "Gagal memuatkan %s: %s\n" + +#~ msgid "File not found" +#~ msgstr "Fail tidak dijumpai" + +#~ msgid "Show Desktop Button" +#~ msgstr "Papar Butang Desktop" + +#~ msgid "This button lets you hide all windows and show the desktop." +#~ msgstr "" +#~ "Butang ini membolehkan anda sembunyi semua tetingkap dan papar desktop." + +#~ msgid "" +#~ "Your window manager does not support the show desktop button, or you are " +#~ "not running a window manager." +#~ msgstr "" +#~ "Pengurus tetingkap anda tak menyokong butang papar desktop, atau anda tak " +#~ "melaksanakan pengurus tetingkap." + +#~ msgid "Workspace List" +#~ msgstr "Senarai RuangKerja" + +#~ msgid "" +#~ "The Window List shows a list of all windows and lets you browse them." +#~ msgstr "" +#~ "Senarai Tetingkap memaparkan senarai bagi semua tetingkap dan membolehkan " +#~ "anda melihatnya." + +#~ msgid "<b>Restoring Minimized Windows</b>" +#~ msgstr "<b>Memulih Tetingkap diminiatur</b>" + +#~ msgid "<b>Window Grouping</b>" +#~ msgstr "<b>Pengumpulan tetingkap</b>" + +#~ msgid "<b>Window List Content</b>" +#~ msgstr "<b>Kandungan Senarai Tetingkap</b>" + +#~ msgid "<b>Window List Size</b>" +#~ msgstr "<b>Saiz Senarai Tetingkap</b>" + +#~ msgid "Behavior" +#~ msgstr "Kelakuan" + +#~ msgid "Group windows when _space is limited" +#~ msgstr "Kumpulkan tetingkap bila _ruang terhad" + +#~ msgid "M_inimum size:" +#~ msgstr "Saiz m_inimum:" + +#~ msgid "Ma_ximum size:" +#~ msgstr "Saiz ma_ksimum:" + +#~ msgid "Restore to current _workspace" +#~ msgstr "Pulihkan ke _ruangkerja semasa" + +#~ msgid "Restore to na_tive workspace" +#~ msgstr "Pulihkanke ruangkerja na_tif" + +#~ msgid "Sh_ow windows from current workspace" +#~ msgstr "_Papar tetingkap dari ruangkerja semasa" + +#~ msgid "Show windows from a_ll workspaces" +#~ msgstr "Papar tetingkap dari _semua ruangkerja" + +#~ msgid "Size" +#~ msgstr "Saiz" + +#~ msgid "Window List Preferences" +#~ msgstr "Keutamaan Senarai Tetingkap" + +#~ msgid "_Always group windows" +#~ msgstr "Se_ntiasa kumpul tetingkap" + +#~ msgid "_Never group windows" +#~ msgstr "_Jangan kumpul tetingkap" + +#~ msgid "pixels" +#~ msgstr "piksel" + +#~ msgid "" +#~ "Decides when to group windows from the same application on the window " +#~ "list. Possible values are \"never\", \"auto\" and \"always\"." +#~ msgstr "" +#~ "Menentukan bila mengumpulkan tetingkap dari aplikasi sama pada senarai " +#~ "tetingkap. Nilai yang sah adalah \"tidak sekali\", \"auto\" dan \"sentiasa" +#~ "\"." + +#~ msgid "" +#~ "If true, the window list will show windows from all workspaces. Otherwise " +#~ "it will only display windows from the current workspace." +#~ msgstr "" +#~ "Jika ia benar, senarai tetingkap akan memapar tetingkap dari semua " +#~ "ruangkerja. Sebaliknya ia akan memapar tetingkap dari ruangkerja semasa ." + +#~ msgid "" +#~ "If true, then when unminimizing a window, move it to the current " +#~ "workspace. Otherwise, switch to the workspace of the window." +#~ msgstr "" +#~ "Jika benar, bila nyahminimum tetingkap, membawanya ke ruangkerja semasa. " +#~ "Sebaliknya, bertukar ke ruangkerja bagi tetingkap." + +#~ msgid "Maximum window list size" +#~ msgstr "Saiz maksimum senarai tetingkap" + +#~ msgid "Minimum window list size" +#~ msgstr "Saiz minimum senarai tetingkap" + +#~ msgid "Move windows to current workspace when unminimized" +#~ msgstr "Pindahkan tetingkap ke ruangkerja semasa bila nyahminima" + +#~ msgid "Show windows from all workspaces" +#~ msgstr "Papar tetingkap dari semua ruangkerja" + +#~ msgid "" +#~ "This key specifies the maximum width that the window list requests. The " +#~ "maximum width setting is useful to limit the size of the window list in " +#~ "large panels, where the window list could fill the entire space available." +#~ msgstr "" +#~ "Nilai ini adalah nilai lebar maksimum yang senarai tetingkap akan pinta. " +#~ "Tetapan lebar maksimum ini berguna untuk menghadkan saiz senarai " +#~ "tetingkap pada panel besar, dimana senarai tetingkap boleh memenuhkan " +#~ "keseluruhan ruang yang ada." + +#~ msgid "This key specifies the minimum width that the window list requests." +#~ msgstr "" +#~ "Kekunci ini menyatakan saiz minimum yang senarai tetingkap akan pinta." + +#~ msgid "When to group windows" +#~ msgstr "Bila mengumpul tetingkap" + +#~ msgid "Workspace Selector" +#~ msgstr "Pemilih RuangKerja" + +#~ msgid "" +#~ "The Window Selector shows a list of all windows and lets you browse them." +#~ msgstr "" +#~ "Pemilih Tetingkap memaparkan senarai semua tetingkap dan membolehkan anda " +#~ "melihatnya." + +#~ msgid "Unknown Window" +#~ msgstr "Tetingkap tak dikenali" + +#~ msgid "No Windows Open" +#~ msgstr "Tiada Tetingkap Dibuka" + +#~ msgid "Tool to switch between windows" +#~ msgstr "Alat unruk beralih dinatara tetingkap" + +#~ msgid "rows" +#~ msgstr "baris" + +#~ msgid "columns" +#~ msgstr "kolum" + +#~ msgid "Error loading num_rows value for Workspace Switcher: %s\n" +#~ msgstr "Ralat memuatkan nilai num_rows bagi Penukar Ruangkerja: %s\n" + +#~ msgid "" +#~ "Error loading display_workspace_names value for Workspace Switcher: %s\n" +#~ msgstr "" +#~ "Ralat memuatkan nilai display_workspace_names bagi Penukar Ruangkerja: %" +#~ "s\n" + +#~ msgid "" +#~ "Error loading display_all_workspaces value for Workspace Switcher: %s\n" +#~ msgstr "" +#~ "Ralat memuatkan nilai display_all_workspaces bagi Penukar Ruangkerja: %s\n" + +#~ msgid "" +#~ "The Workspace Switcher shows you a small version of your workspaces that " +#~ "lets you manage your windows." +#~ msgstr "" +#~ "Penukar RuangKerja memaparkan anda versi kecil ruangkerja anda yang " +#~ "membolehkan anda mengurus tetingkap." + +#~ msgid "<b>Switcher</b>" +#~ msgstr "<b>Penukar</b>" + +#~ msgid "<b>Workspaces</b>" +#~ msgstr "<b>RuangKerja</b>" + +#~ msgid "Number of _workspaces:" +#~ msgstr "Bilangan antara _ruangkerja:" + +#~ msgid "Show _all workspaces in:" +#~ msgstr "Papar _semua ruangkerja pada:" + +#~ msgid "Show _only the current workspace" +#~ msgstr "Papar _hanya ruangkerja semasa" + +#~ msgid "Show workspace _names in switcher" +#~ msgstr "Papar _nama ruangkerja pada penukar" + +#~ msgid "Workspace Names" +#~ msgstr "Nama RuangKerja" + +#~ msgid "Workspace Switcher Preferences" +#~ msgstr "Keutamaan Penukar RuangKerja" + +#~ msgid "Workspace na_mes:" +#~ msgstr "_Nama RuangKerja" + +#~ msgid "Display all workspaces" +#~ msgstr "Papar semua ruangkerja" + +#~ msgid "Display workspace names" +#~ msgstr "Papar nama ruangkerja" + +#~ msgid "" +#~ "If true, the workspace switcher will show all workspaces. Otherwise it " +#~ "will only show the current workspace." +#~ msgstr "" +#~ "Jika ia benar, penukar ruangkerja akan memapar semua ruangkerja. " +#~ "Sebaliknya ia akan hanya memapar ruangkerja semasa." + +#~ msgid "" +#~ "If true, the workspaces in the workspace switcher will display the names " +#~ "of the workspaces. Otherwise they will display the windows on the " +#~ "workspace." +#~ msgstr "" +#~ "Jika ia benar, ruangkerja pada penukar ruangkerja akan memaparkan nama " +#~ "bagi ruangkerja. Sebaliknya akan memapar tetingkap pada ruangkerja" + +#~ msgid "Rows in workspace switcher" +#~ msgstr "Baris pada penukar ruangkerja" + +#~ msgid "" +#~ "This key specifies how many rows (for horizontal layout) or columns (for " +#~ "vertical layout) the workspace switcher shows the workspaces in. This key " +#~ "is only relevant if the display_all_workspaces key is true." +#~ msgstr "" +#~ "Kekunci ini menyatakan berapa banyak baris (bagi susunatur mengufuk) atau " +#~ "kolum (bagi susunatur menegak) penukar ruangkerja yang mepaparkan ruang " +#~ "kerja di dalamnya. Kekunci ini releven jika kekunci " +#~ "display_all_workspaces adalah benar." + +#~ msgid "MATE Panel Shell" +#~ msgstr "Shell Utama MATE" + +#~ msgid "_Lock" +#~ msgstr "_Kunci" + +#~ msgid "_Move" +#~ msgstr "_Pindah" + +#~ msgid "_Remove From Panel" +#~ msgstr "_Buang Daripada Panel" + +#~ msgid "Un_lock" +#~ msgstr "_NyahKunci" + +#~ msgid "???" +#~ msgstr "[entah]" + +#~ msgid "Can't find an empty spot" +#~ msgstr "Tidak dapat mencari slot kosong" + +#~ msgid "Failed to load image %s" +#~ msgstr "Gagal memuatkan imej %s" + +#~ msgid "none" +#~ msgstr "tiada" + +#~ msgid "file not found" +#~ msgstr "fail tidak dijumpai" + +#~ msgid "Drawer" +#~ msgstr "Laci" + +#~ msgid "_Properties" +#~ msgstr "_Ciri-ciri" + +#~ msgid "Create new file in the given directory" +#~ msgstr "Cipta fail baru pada direktori diberi" + +#~ msgid "Cannot save launcher to disk" +#~ msgstr "Tak dapat menyimpan pelancar ke cakera" + +#~ msgid "Cannot launch icon" +#~ msgstr "Tak dapat melancarkan ikon" + +#~ msgid "This launch icon does not specify a url to show." +#~ msgstr "Ikon pelancar ini tidak menyatakan url untuk dipapar." + +#~ msgid "Cannot show %s" +#~ msgstr "Tak dapat memaparkan %s" + +#~ msgid "No URI provided for panel launcher desktop file\n" +#~ msgstr "Tiada URI dibekalkan untuk fail desktop pelancar panel\n" + +#~ msgid "Unable to open desktop file %s for panel launcher%s%s\n" +#~ msgstr "Tak dapat membuka fail desktop %s bagi pelancar%s%s panel\n" + +#~ msgid "Launcher Properties" +#~ msgstr "Ciri-ciri Pelancar" + +#~ msgid "Key %s is not set, can't load launcher\n" +#~ msgstr "Kekunci %s tidak ditetapkan, tak dpaat memuatkan pelancar\n" + +#~ msgid "Cannot create launcher" +#~ msgstr "Tak dapat mencipta pelancar." + +#~ msgid "You have to specify a name." +#~ msgstr "Anda mesti nyatakan satu nama." + +#~ msgid "You have to specify a valid URL or command." +#~ msgstr "Anda mesti nyatakan URL atau arahan yang sah." + +#~ msgid "Create Launcher" +#~ msgstr "Cipta Pelancar" + +#~ msgid "Cannot save changes to launcher" +#~ msgstr "Tak dapat menyimpan perubahan pada pelancar" + +#~ msgid "Menu" +#~ msgstr "Menu" + +#~ msgid "Cannot save menu item to disk" +#~ msgstr "Tak dapat menyimpan item menu ke cakera" + +#~ msgid "" +#~ "You can not create a new launcher at this location since the location is " +#~ "not writable." +#~ msgstr "" +#~ "Anda tak boleh mencipta pelancar baru pada lokasi ini kerana lokasi tidak " +#~ "boleh ditulis." + +#~ msgid "And many, many others..." +#~ msgstr "Dan banyak lagi yang lain..." + +#~ msgid "The MATE Panel" +#~ msgstr "Panel MATE" + +#~ msgid "" +#~ "This program is responsible for launching other applications and " +#~ "embedding small applets within itself." +#~ msgstr "" +#~ "Program ini bertanggungjawap untuk melancarkan aplikasi lain, aplet kecil " +#~ "embeded didalam dirinya." + +#~ msgid "Cannot execute '%s'" +#~ msgstr "Tidak dapat melaksanakan '%s'" + +#~ msgid "%s: %s" +#~ msgstr "%s: %s" + +#~ msgid "About MATE" +#~ msgstr "Perihal MATE" + +#~ msgid "Cannot launch entry" +#~ msgstr "Tak dapat melancarkan kemasukan" + +#~ msgid "Cannot load entry" +#~ msgstr "Tak dapat memuatkan kemasukan" + +#~ msgid "Add this launcher to panel" +#~ msgstr "Tambah pelancar ini pada panel" + +#~ msgid "Add this as drawer to panel" +#~ msgstr "Tambah laci ini pada panel" + +#~ msgid "Add this as menu to panel" +#~ msgstr "Tambah menu ini pada panel" + +#~ msgid "You cannot remove your last panel." +#~ msgstr "Anda tak boleh buang panel terakhir" + +#~ msgid "_Delete This Panel..." +#~ msgstr "Pa_dam Panel Ini..." + +#~ msgid "_Delete This Panel" +#~ msgstr "Pa_dam Panel Ini" + +#~ msgid "_Add to Panel..." +#~ msgstr "_Tambah ke Panel..." + +#~ msgid "_New Panel" +#~ msgstr "Panel _Baru" + +#~ msgid "A_bout Panels" +#~ msgstr "_Perihal Panel" + +#~ msgid "About _MATE" +#~ msgstr "Perihal _MATE" + +#~ msgid "_Activate Screensaver" +#~ msgstr "_Aktifkan Screensaver" + +#~ msgid "_Lock Screen" +#~ msgstr "_Kunci Skrin" + +#~ msgid "_Kill Screensaver Daemon" +#~ msgstr "_Bunuh Daemon Screensaver" + +#~ msgid "Restart _Screensaver Daemon" +#~ msgstr "Ulanghidupkan Daemon _Screensaver" + +#~ msgid "Lock screen" +#~ msgstr "Kunci skrin" + +#~ msgid "Protect your computer from unauthorized use" +#~ msgstr "Lindung komputer anda daripada penggunaan yang tidak diingini" + +#~ msgid "Log Out" +#~ msgstr "Log Keluar" + +#~ msgid "" +#~ "Log out of this session to log in as a different user or to shut down the " +#~ "computer" +#~ msgstr "" +#~ "Log keluar sesi ini untuk log masuk sebagai pengguna lain atau untuk " +#~ "tutup komputer" + +#~ msgid "Run Application..." +#~ msgstr "Laksana Aplikasi..." + +#~ msgid "Run an Application by entering a command" +#~ msgstr "Laksanakan aplikasi dengan memasukkan arahan" + +#~ msgid "Search for Files..." +#~ msgstr "Cari Fail..." + +#~ msgid "Find files, folders, and documents on your computer" +#~ msgstr "Cari fail, folder dan dokumen pada komputer anda" + +#~ msgid "Take Screenshot..." +#~ msgstr "Cekup Skrin..." + +#~ msgid "Take a screenshot of your desktop" +#~ msgstr "Ambil cekupan skrin desktop anda" + +#~ msgid "Force Quit" +#~ msgstr "Keluar Paksa" + +#~ msgid "Force a misbehaving application to quit" +#~ msgstr "Paksa aplikasi yg berkelakuan ganjil untuk keluar" + +#~ msgid "Custom Application Launcher" +#~ msgstr "Pelancar Aplikasi Tersendiri" + +#~ msgid "Create a new launcher" +#~ msgstr "Cipta pelancar baru" + +#~ msgid "Application Launcher..." +#~ msgstr "Pelancar Aplikasi..." + +#~ msgid "Launch a program that is already in the MATE menu" +#~ msgstr "Lancar program yang sedia ada di menu MATE" + +#~ msgid "Main Menu" +#~ msgstr "Menu Utama" + +#~ msgid "The main MATE menu" +#~ msgstr "Menu utama MATE" + +#~ msgid "Menu Bar" +#~ msgstr "Bar Menu" + +#~ msgid "A custom menu bar" +#~ msgstr "Bar menu tersendiri" + +#~ msgid "(empty)" +#~ msgstr "(kosong)" + +#~ msgid "query returned exception %s\n" +#~ msgstr "kueri mengembalikan pengecualian %s\n" + +#~ msgid "Add to %s" +#~ msgstr "Tambah ke %s" + +#~ msgid "Add to the panel" +#~ msgstr "Tambah ke panel" + +#~ msgid "Select an _item to add to %s:" +#~ msgstr "Pilih satu _item untuk ditambah ke %s:" + +#~ msgid "Select an _item to add to the panel:" +#~ msgstr "Pilih satu _item untuk ditambah ke panel:" + +#~ msgid "Exception from popup_menu '%s'\n" +#~ msgstr "Pengecualian dari popup_menu '%s'\n" + +#~ msgid "\"%s\" has quit unexpectedly" +#~ msgstr "\"%s\" telah keluar tanpa diduga" + +#~ msgid "Panel object has quit unexpectedly" +#~ msgstr "Objek panel keluar tanpa diduga" + +#~ msgid "" +#~ "If you reload a panel object, it will automatically be added back to the " +#~ "panel." +#~ msgstr "" +#~ "Jika anda ulangmuat objek panel, ia akan ditambah semula secara automatik " +#~ "ke panel." + +#~ msgid "_Don't Reload" +#~ msgstr "_Jangan Ulangmuat" + +#~ msgid "_Reload" +#~ msgstr "_Ulangmuat" + +#~ msgid "D_on't Delete" +#~ msgstr "Jangan Pa_dam" + +#~ msgid "The panel encountered a problem while loading \"%s\"." +#~ msgstr "Panel dirundung masalah ketika memuatkan \"%s\"." + +#~ msgid "Details: %s" +#~ msgstr "Perincian: %s" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "Do you want to delete the applet from your configuration?" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "Adakah anda ingin memadam aplet drpd konfigurasi anda?" + +#~ msgid "Unable to obtain AppletShell interface from control\n" +#~ msgstr "Tak boleh mendapatkan antaramuka AppletShell daripada kawalan\n" + +#~ msgid "Error watching mateconf key '%s': %s" +#~ msgstr "Ralat memerhati kekunci mateconf '%s': %s" + +#~ msgid "Error loading mateconf directory '%s': %s" +#~ msgstr "Ralat memuatkan direktori mateconf '%s': %s" + +#~ msgid "Error getting value for '%s': %s" +#~ msgstr "Ralat mendapatkan nilai bagi '%s': %s" + +#~ msgid "" +#~ "Click on a window to force the application to quit. To cancel press <ESC>." +#~ msgstr "" +#~ "Klik pada tetingkap untuk memaksa aplikasi keluar. Untuk membatal tekan " +#~ "<ESC>." + +#~ msgid "" +#~ "Force this application to exit?\n" +#~ "(Any open documents will be lost.)" +#~ msgstr "" +#~ "Paksa aplikasi untuk keluar?\n" +#~ "(Semua dokumen dibuka akan hilang.)" + +#~ msgid "" +#~ "A list of panel IDs. Each ID identifies an individual toplevel panel. The " +#~ "settings for each of these panels are stored in /apps/panel/toplevels/" +#~ "$(id)." +#~ msgstr "" +#~ "Senarai ID panel. Setiap ID mengcam panel aras atas secara individu. " +#~ "Tetapan bagi setiap panel ini akan disimpan di /apps/panel/toplevels/" +#~ "$(id)." + +#~ msgid "" +#~ "A list of panel applet IDs. Each ID identifies an individual panel " +#~ "applet. The settings for each of these applets are stored in /apps/panel/" +#~ "applets/$(id)." +#~ msgstr "" +#~ "Senarai ID panel. Setiap ID mengcam aplet panel secara individu. Tetapan " +#~ "bagi setiap panel ini akan disimpan di /apps/panel/applets/$(id)." + +#~ msgid "" +#~ "A list of panel object IDs. Each ID identifies an individual panel object " +#~ "(e.g. a launcher, action button or menu button/bar). The settings for " +#~ "each of these objects are stored in /apps/panel/objects/$(id)." +#~ msgstr "" +#~ "Senarai ID panel. Setiap ID mengcam objek panel secara individu (seperti " +#~ "pelancar, butang aksi atau bar/butang menu). Tetapan bagi setiap panel " +#~ "ini akan disimpan di /apps/panel/objects/$(id)." + +#~ msgid "Enable program list in \"Run Application\" dialog" +#~ msgstr "Hidupkan senarai program pada dialog \"Laksana Aplikasi\"" + +#~ msgid "Expand program list in \"Run Application\" dialog" +#~ msgstr "Kembangkan senarai program pada dialog \"Laksana Aplikasi\"" + +#~ msgid "" +#~ "If true, the \"Known Applications\" listing in the \"Run Application\" " +#~ "dialog is expanded when the dialog is opened. This key is only relevant " +#~ "if the enable_program_list key is true." +#~ msgstr "" +#~ "Jika benar, senarai \"Aplikasi Ddikenali\" pada dialog \"Laksana Aplikasi" +#~ "\" dikembangkan bila dialog dibuka. Kekunci ini hanya releven bila " +#~ "kekunci enable_program_list adalah benar." + +#~ msgid "" +#~ "If true, the \"Known Applications\" listing in the \"Run Application\" " +#~ "dialog is made available. Whether or not the listing is expanded when the " +#~ "dialog is shown is controlled by the show_program_list key." +#~ msgstr "" +#~ "Jika benar, senarai \"Known Applications\" pada dialog \"Run Application" +#~ "\" akan ada. Samada senarai dikembangkan atau tak bila dialog dipaparkan " +#~ "dikawal oleh kekunci show_program_list ." + +#~ msgid "Old profiles configuration migrated" +#~ msgstr "Konfigurasi profil lama dimigrasikan" + +#~ msgid "Panel ID list" +#~ msgstr "Senarai ID panel" + +#~ msgid "Panel applet ID list" +#~ msgstr "Senarai ID aplet panel" + +#~ msgid "Panel object ID list" +#~ msgstr "Senarai ID objek panel" + +#~ msgid "Animation speed" +#~ msgstr "Kelajuan animasi" + +#~ msgid "Applet IIDs to disable from loading" +#~ msgstr "IID aplet untuk dicegah drpd dimuatkan" + +#~ msgid "Autoclose drawer" +#~ msgstr "Autotutup laci" + +#~ msgid "Complete panel lockdown" +#~ msgstr "Penguncian panel lengkap" + +#~ msgid "Confirm panel removal" +#~ msgstr "Kepastian membuang panel" + +#~ msgid "Disable Force Quit" +#~ msgstr "Matikan Keluar Paksa" + +#~ msgid "Disable Lock Screen" +#~ msgstr "Matikan Kunci Skrin" + +#~ msgid "Disable Logging Out" +#~ msgstr "Matikan Log Keluar" + +#~ msgid "Display \"Run Application\" dialog keybinding" +#~ msgstr "Papar ikatan kekunci dialog \"Laksana Aplikasi\"" + +#~ msgid "Enable animations" +#~ msgstr "Hidupkan animasi" + +#~ msgid "Enable keybindings" +#~ msgstr "Hidupkan ikatan kekunci" + +#~ msgid "Enable tooltips" +#~ msgstr "Hidupkan tooltip" + +#~ msgid "FIXME - is this resolved with the new menu stuff" +#~ msgstr "FIXME - adakah ini akan diselesaikan dengan perkara menu baru" + +#~ msgid "FIXME - need to define limits" +#~ msgstr "FIXME - perlu mentaksir had" + +#~ msgid "Highlight launchers on mouseover" +#~ msgstr "Serlah pelancar pada mouseover" + +#~ msgid "" +#~ "If true, a dialog is shown asking for confirmation if the user wants to " +#~ "remove a panel." +#~ msgstr "" +#~ "Jika benar, dialog yg dipaparkan bertanya kepastian jika pengguna ingin " +#~ "membuang panel." + +#~ msgid "" +#~ "If true, a drawer will automatically be closed when the user clicks a " +#~ "launcher in it." +#~ msgstr "" +#~ "Jike benar, laci akan ditutup automatik bila pengguna klik pelancar " +#~ "padanya." + +#~ msgid "" +#~ "If true, a launcher is highlighted when the user moves the pointer over " +#~ "it." +#~ msgstr "" +#~ "Jika benar, pelancar akan diserlahkan bila pegguna menggerakkan puniding " +#~ "di atasnya." + +#~ msgid "If true, panel-specific keybindings are enabled." +#~ msgstr "Jika benar, ikatan kekunci spesifik-panel-specific akan dihidupkan." + +#~ msgid "If true, tooltips are shown for objects in panels." +#~ msgstr "Jika benar, tooltip akan dipaparkan bagi objek di panel." + +#~ msgid "Popup panel menu keybinding" +#~ msgstr "Popup Ikatan kekunci menu panel" + +#~ msgid "Take screenshot" +#~ msgstr "Ambil cekupan skrin" + +#~ msgid "Take window screenshot" +#~ msgstr "Ambil cekupan skrin tetingkap" + +#~ msgid "Actions" +#~ msgstr "Aksi" + +#~ msgid "Action button type" +#~ msgstr "Jenis butang aksi" + +#~ msgid "Applet MateComponent IID" +#~ msgstr "IID MateComponent Applet" + +#~ msgid "Icon used for object's button" +#~ msgstr "Ikon digunakan oleh butang objek" + +#~ msgid "" +#~ "If true, the custom_icon key is used as a custom icon for the button. If " +#~ "false, the custom_icon key is ignored. This key is only relevant if the " +#~ "object_type key is \"menu-object\" or \"drawer-object\"." +#~ msgstr "" +#~ "Jika benar, kekunci custom_icon digunakan sebagai ikon tersendiri bagi " +#~ "butang. Jika palsu, kekunci custom_icon key diabaikan. Kekunci ini hanya " +#~ "relevan jika kekunci object_type adalah \"menu-object\" atau \"drawer-" +#~ "object\"." + +#~ msgid "" +#~ "If true, the menu_path key is used as the path from which the menu " +#~ "contents should be constructed. If false, the menu_path key is ignored. " +#~ "This key is only relevant if the object_type key is \"menu-object\"." +#~ msgstr "" +#~ "Jika benar, kekunci menu_path digunakan sebagai laluan drpd mana " +#~ "kandungan menu akan dibina. Jike palsu, menu_path diabaikan. Tetapan ini " +#~ "hanya relevan jika kekunci object_type adalah \"menu-object\"." + +#~ msgid "" +#~ "If true, the position of the object is interpreted relative to the right " +#~ "(or bottom if vertical) edge of the panel." +#~ msgstr "" +#~ "Jika benar, posisi bagi objek ditafsirkan relatif kepada kanan (atau " +#~ "bawah jika menegak) pinggir bagi panel." + +#~ msgid "" +#~ "If true, the user may not move the applet without first unlocking the " +#~ "object using the \"Unlock\" menuitem." +#~ msgstr "" +#~ "Jika benar, pengguna tak boleh memindahkan aplet tanpa nyahkunci objek " +#~ "menggunakan item menu \"Nyahkunci\"." + +#~ msgid "Interpret position relative to bottom/right edge" +#~ msgstr "Tafsir posisi relatif kepada pinggir bawah/kanan" + +#~ msgid "Launcher location" +#~ msgstr "Lokasi pelancar" + +#~ msgid "Lock the object to the panel" +#~ msgstr "Kunci objek kepada panel" + +#~ msgid "Menu content path" +#~ msgstr "Laluan kandungan menu" + +#~ msgid "Object's position on the panel" +#~ msgstr "Posisi objek pada panel" + +#~ msgid "Panel attached to drawer" +#~ msgstr "Panel dilampirkan pada laci" + +#~ msgid "Panel object type" +#~ msgstr "Jenis objek panel" + +#~ msgid "" +#~ "The MateComponent implementation ID of the applet - e.g. \"OAFIID:" +#~ "MATE_ClockApplet\". This key is only relevant if the object_type key is " +#~ "\"matecomponent-applet\"." +#~ msgstr "" +#~ "ID implementasi MateComponent bagi aplet - cth. \"OAFIID:MATE_ClockApplet\". " +#~ "kekunci ini hanya relevan jika object_type adalah \"matecomponent-applet\"." + +#~ msgid "" +#~ "The action type this button represents. Possible values are \"lock\", " +#~ "\"logout\", \"run\", \"search\" and \"screenshot\". This key is only " +#~ "relevant if the object_type key is \"action-applet\"." +#~ msgstr "" +#~ "Jenis aksi yang diwakili butang ini. Nilai yang boleh adalah \"lock\", " +#~ "\"logout\", \"run\", \"search\" dan \"screenshot\". Kekunci ini hanya " +#~ "relevan jika object_type adalah \"action-applet\"." + +#~ msgid "" +#~ "The identifier of the panel attached to this drawer. This key is only " +#~ "relevant if the object_type key is \"drawer-object\"." +#~ msgstr "" +#~ "Pengcam bagi panel dilampirkan pada laci ini. kekunci ini hanya relevan " +#~ "jika object_type adalah \"drawer-object\"." + +#~ msgid "The identifier of the toplevel panel which contains this object." +#~ msgstr "Pengcam bagi panel aras atas yang mengandungi objek ini." + +#~ msgid "" +#~ "The location of the .desktop file describing the launcher. This key is " +#~ "only relevant if the object_type key is \"launcher-object\"." +#~ msgstr "" +#~ "Lokasi bagi fail .desktop menerangkan pelancar. Kekunci ninihanya relevan " +#~ "jika object_type adalah \"launcher-object\"." + +#~ msgid "" +#~ "The location of the image file used as the icon for the object's button. " +#~ "This key is only relevant if the object_type key is \"drawer-object\" or " +#~ "\"menu-object\" and the use_custom_icon key is true." +#~ msgstr "" +#~ "Lokasi bagi fail imej digunakan sebagai ikon bagi butang objek. Kekunci " +#~ "ini hanya relevan jika kekunci object_type adalah \"drawer-object\" atau " +#~ "\"menu-object\" dan kekunci the use_custom_icon adalah benar." + +#~ msgid "" +#~ "The path from which the menu contents is contructed. This key is only " +#~ "relevant if the use_menu_path key is true and the object_type key is " +#~ "\"menu-object\"." +#~ msgstr "" +#~ "Laluan drpd mana kandungan menu akan dibina. Kekunci ini hanya relevan " +#~ "jika use_menu_path adalah benar dan object_type adalah \"menu-object\"." + +#~ msgid "" +#~ "The position of this panel object. The position is specified by the " +#~ "number of pixels from the left (or top if vertical) panel edge." +#~ msgstr "" +#~ "Posisi bagi objek panel ini. Posisi dinyatakan oleh bilangan piksel drpd " +#~ "kiri (atau atas jika mengufuk) pinggir panel." + +#~ msgid "" +#~ "The text to display in a tooltip for this drawer or this menu. This key " +#~ "is only relevant if the object_type key is \"drawer-object\" or \"menu-" +#~ "object\"." +#~ msgstr "" +#~ "Teks untuk dipaparkan pada tooltip bagi laci atau menu ini. Kekunci ini " +#~ "hanya relevan jika kekunci object_type adalah \"drawer-object\" atau " +#~ "\"menu-object\"." + +#~ msgid "" +#~ "The type of this panel object. Possible values are \"drawer-object\", " +#~ "\"menu-object\", \"launcher-object\", \"matecomponent-applet\", \"action-applet" +#~ "\" and \"menu-bar\"." +#~ msgstr "" +#~ "Jenis bagi objek panel. Nilai yang boleh adalah \"drawer-object\", \"menu-" +#~ "object\", \"launcher-object\", \"matecomponent-applet\", \"action-applet\" dan " +#~ "\"menu-bar\"." + +#~ msgid "Tooltip displayed for drawer or menu" +#~ msgstr "Tooltip dipaparkan bagi laci atau menu" + +#~ msgid "Toplevel panel containing object" +#~ msgstr "Panel aras atas mengandungi objek" + +#~ msgid "Use custom icon for object's button" +#~ msgstr "Guna ikon tersendiri bagi butang objek" + +#~ msgid "Use custom path for menu contents" +#~ msgstr "Guna laluan sendiri bagi menu konteks" + +#~ msgid "Error reading MateConf string value '%s': %s" +#~ msgstr "Ralat membaca nilai rentetan MateConf '%s': %s" + +#~ msgid "Error reading MateConf integer value '%s': %s" +#~ msgstr "Ralat membaca nilai integer MateConf '%s': %s" + +#~ msgid "" +#~ "Panel '%s' is set to be displayed on screen %d which is not currently " +#~ "available. Not loading this panel." +#~ msgstr "" +#~ "Panel '%s' ditetapkan untuk dipaparkan pada skrin %d dimana ia tak wujud. " +#~ "Tak memuatkan panel ini." + +#~ msgid "Error reading MateConf boolean value '%s': %s" +#~ msgstr "Ralat membaca nilai boolean MateConf '%s': %s" + +#~ msgid "<small>Opaque</small>" +#~ msgstr "<small>Opaque</small>" + +#~ msgid "<small>Transparent</small>" +#~ msgstr "<small>Telus</small>" + +#~ msgid "Arro_ws on hide buttons" +#~ msgstr "Pa_nah pada butang sembunyi" + +#~ msgid "Background" +#~ msgstr "latar belakang" + +#~ msgid "Background _image:" +#~ msgstr "Latar belakang _imej:" + +#~ msgid "Co_lor:" +#~ msgstr "Wa_rna:" + +#~ msgid "E_xpand" +#~ msgstr "_Kembang" + +#~ msgid "General" +#~ msgstr "Umum" + +#~ msgid "Image Background Details" +#~ msgstr "Perincian Imej Latarbelakang" + +#~ msgid "Panel Properties" +#~ msgstr "Ciri-ciri Panel" + +#~ msgid "Pick a color" +#~ msgstr "Sila pilih satu warna" + +#~ msgid "Rotate image when panel is _vertical" +#~ msgstr "Kilaskan imej bila panel me_negak" + +#~ msgid "S_tyle:" +#~ msgstr "_Gaya:" + +#~ msgid "Show hide _buttons" +#~ msgstr "Papar _butang tersembunyi" + +#~ msgid "Solid c_olor" +#~ msgstr "_Warna tegar" + +#~ msgid "Some of these properties are locked down" +#~ msgstr "Sesetengah ciri-ciri ini adalah dikunci" + +#~ msgid "St_retch" +#~ msgstr "_Regang" + +#~ msgid "_Autohide" +#~ msgstr "_Auto-sembunyi" + +#~ msgid "_Icon:" +#~ msgstr "_Ikon:" + +#~ msgid "_None (use system theme)" +#~ msgstr "_Tiada (guna tema sistem default)" + +#~ msgid "_Orientation:" +#~ msgstr "_Orientasi:" + +#~ msgid "_Scale" +#~ msgstr "_Skala" + +#~ msgid "_Size:" +#~ msgstr "_Saiz:" + +#~ msgid "_Tile" +#~ msgstr "_Tile" + +#~ msgid "Couldn't find a suitable application" +#~ msgstr "Tak menjumpai aplikasi yang sesuai" + +#~ msgid "Cannot open recently used document" +#~ msgstr "Tak dapat membuka dokumen digunakan kebelakangan ini" + +#~ msgid "An unknown error occurred while trying to open %s" +#~ msgstr "Ralat tidak diketahui berlaku bila cuba membuka %s" + +#~ msgid "Clear the Recent Documents list?" +#~ msgstr "Kosongkan Dokumen Kebelakangan?" + +#~ msgid "" +#~ "If you clear the Recent Documents list, you clear the following:\n" +#~ "\n" +#~ "• All items from the Actions → Recent Documents menu item.\n" +#~ "• All items from the recent documents list in all applications." +#~ msgstr "" +#~ "Jika anda ingin mengosongkan senarai Dokumen Kebelakangan, anda " +#~ "mengosongkan berikut:\n" +#~ "\n" +#~ "• Semua item drpd item menu Aksi → Dokumen Kebelakangan.\n" +#~ "• Semua item drpd dokumen kebelakangan pada semua aplikasi." + +#~ msgid "Open '%s'" +#~ msgstr "Buka '%s'" + +#~ msgid "Recent Documents" +#~ msgstr "Dokumen Kebelakangan" + +#~ msgid "Clear Recent Documents" +#~ msgstr "Kosongkan Dokumen Kebelakangan" + +#~ msgid "Clear all items from the recent documents list" +#~ msgstr "Kosongkan semua item drpd senarai dokumen kebelakangan" + +#~ msgid "Cannot launch command '%s'" +#~ msgstr "Tak dapat melancarkan '%s'" + +#~ msgid "Cannot display location '%s'" +#~ msgstr "Tak dapat memapar lokasi '%s'" + +#~ msgid "Cannot convert '%s' from UTF-8" +#~ msgstr "Tak dapat tukar '%s' drpd UTF-8" + +#~ msgid "Choose a file to append to the command..." +#~ msgstr "Pilih fail untuk ditambah pada arahan..." + +#~ msgid "Will run command: '%s'" +#~ msgstr "Akan melaksanakan arahan: '%s'" + +#~ msgid "Select an application to view its description." +#~ msgstr "Pilih aplikasi untuk melihat keterangannya." + +#~ msgid "" +#~ "Click this button to browse for a file whose name to append to the " +#~ "command string." +#~ msgstr "" +#~ "Klik butang ini untuk melungsur fail yang dinamakan untuk menambah ke " +#~ "rentetan arahan." + +#~ msgid "" +#~ "Click this button to run the selected application or the command in the " +#~ "command entry field." +#~ msgstr "" +#~ "Klik butang ini untuk melaksanakan aplikasi dipilih atau arahan pasa " +#~ "medan kemasukan arahan." + +#~ msgid "Command entry" +#~ msgstr "Kemasukan arahan" + +#~ msgid "Command icon" +#~ msgstr "Ikon arahan" + +#~ msgid "Enter a command string here to run it." +#~ msgstr "Masukkan rentetan arahan disini untuk dilaksanakan." + +#~ msgid "Run Application" +#~ msgstr "Laksana Aplikasi" + +#~ msgid "Run in _terminal" +#~ msgstr "Laksanakan di _terminal" + +#~ msgid "Run with _file..." +#~ msgstr "Laksana dengan _fail..." + +#~ msgid "Select this box to run the command in a terminal window." +#~ msgstr "" +#~ "PIlih kekotak ini untuk melaksanakan arahan pada tetingkap terminal." + +#~ msgid "Show list of known _applications" +#~ msgstr "Papar senarai _aplikasi dikenali" + +#~ msgid "The icon of the command to be run." +#~ msgstr "Ikon arahan untuk dilaksanakan." + +#~ msgid "_Run" +#~ msgstr "_Laksana" + +#~ msgid "" +#~ "I've detected a panel already running,\n" +#~ "and will now exit." +#~ msgstr "" +#~ "Kami dapati panel sedia terlaksana.\n" +#~ "dan ianya akan keluar." + +#~ msgid "" +#~ "There was a problem registering the panel with the matecomponent-activation " +#~ "server.\n" +#~ "The error code is: %d\n" +#~ "The panel will now exit." +#~ msgstr "" +#~ "Terdapat masalah ketika mendaftar panel dengan pelayan matecomponent-" +#~ "activation \n" +#~ "kod ralat ialah: %d\n" +#~ "Panel akan keluar sekarang." + +#~ msgid "_Force quit" +#~ msgstr "_Paksa keluar" + +#~ msgid "C_lear" +#~ msgstr "_Kosongkan" + +#~ msgid "Hide Panel" +#~ msgstr "Sorok Panel" + +#~ msgid "Top Expanded Edge Panel" +#~ msgstr "Panel Pinggiran Atas Terkembang" + +#~ msgid "Top Centered Panel" +#~ msgstr "Panel Ketengah Atas" + +#~ msgid "Top Floating Panel" +#~ msgstr "Panel Terapung Atas" + +#~ msgid "Top Edge Panel" +#~ msgstr "Panel Pinggiran Atas" + +#~ msgid "Bottom Expanded Edge Panel" +#~ msgstr "Panel Pinggiran Terkembang Bawah" + +#~ msgid "Bottom Centered Panel" +#~ msgstr "Panel KeTengah Bawah" + +#~ msgid "Bottom Floating Panel" +#~ msgstr "Panel Terapung Bawah" + +#~ msgid "Bottom Edge Panel" +#~ msgstr "Panel Pinggiran Bawah" + +#~ msgid "Left Expanded Edge Panel" +#~ msgstr "Panel Pinggiran Terkembang Kiri" + +#~ msgid "Left Centered Panel" +#~ msgstr "Panel Ketengah Kiri" + +#~ msgid "Left Floating Panel" +#~ msgstr "Panel Terapung Kiri" + +#~ msgid "Left Edge Panel" +#~ msgstr "Panel Pinggiran Kiri" + +#~ msgid "Right Expanded Edge Panel" +#~ msgstr "Panel Pinggiran Terkembang Kanan" + +#~ msgid "Right Centered Panel" +#~ msgstr "Panel KeTengah Kanan" + +#~ msgid "Right Floating Panel" +#~ msgstr "Panel Terapung Kanan" + +#~ msgid "Right Edge Panel" +#~ msgstr "Panel Pinggiran Kanan" + +#~ msgid "Automatically hide panel into corner" +#~ msgstr "Automatik sorok panel ke sudut" + +#~ msgid "Background color" +#~ msgstr "Warna latarbelakang" + +# Opacity tu apa? +#~ msgid "Background color opacity" +#~ msgstr "Opacity warna latarbelakang" + +#~ msgid "Background image" +#~ msgstr "Imej latar belakang" + +#~ msgid "Background type" +#~ msgstr "Jenis latar belakang" + +#~ msgid "Center panel on x-axis" +#~ msgstr "Ketengahkan panel pada paksi-x" + +#~ msgid "Center panel on y-axis" +#~ msgstr "Ketengahkan panel pada paksi-y" + +#~ msgid "Enable arrows on hide buttons" +#~ msgstr "Hidupkan panah pada butang sembunyi" + +#~ msgid "Enable hide buttons" +#~ msgstr "Hidupkan butang sembunyi" + +#~ msgid "Expand to occupy entire screen width" +#~ msgstr "Kembangkan untuk menduduki seluruh lebar panel" + +#~ msgid "Fit image to panel" +#~ msgstr "Muatkan imej ke panel" + +#~ msgid "" +#~ "If true, arrows will be placed on the hide buttons. This key is only " +#~ "relevant if the enable_buttons key is true." +#~ msgstr "" +#~ "Jika benar, panah akan diletakkan pada butang sembunyi. kekunci ini hanya " +#~ "bermakna bile enable_buttons adalah benar." + +#~ msgid "" +#~ "If true, buttons will be placed on each side of the panel which may be " +#~ "used to move the panel to edge of the screen, leaving only a button " +#~ "showing." +#~ msgstr "" +#~ "Jika benar, butang akan diletak pada setiap tepi panel dimana mungkin " +#~ "digunakan untuk menggerakkan panel ke pinggir skrin, meningalkan hanya " +#~ "satu butang dipaparkan." + +#~ msgid "" +#~ "If true, hiding and un-hiding of this panel will be animated rather than " +#~ "happening instantly." +#~ msgstr "" +#~ "Jika benar, penyorokan dan nyahsorok panel akan dianimasikan selain drpd " +#~ "berlaku serta merta." + +#~ msgid "" +#~ "If true, the background image will be rotated when the panel is oriented " +#~ "vertically." +#~ msgstr "" +#~ "Jika benar, imej kalarbelakang akan dikilas bila panel diorientasikan " +#~ "menegak." + +#~ msgid "" +#~ "If true, the image will be scaled (retaining the aspect ratio of the " +#~ "image) to the panel height (if horizontal)." +#~ msgstr "" +#~ "Jika benar, imej akan diskalakan (kekal nisbah aspek bagi imej) ke tinggi " +#~ "panel (jika mengufuk)." + +#~ msgid "" +#~ "If true, the image will be scaled to the panel dimensions. The aspect " +#~ "ratio of the image will not be maintained." +#~ msgstr "" +#~ "Jika benar, imej akan diskalakan kepada dimensi panel. nisbah aspek imej " +#~ "tak akan dikekalkan." + +#~ msgid "" +#~ "If true, the panel is automatically hidden into a corner of the screen " +#~ "when the pointer leaves the panel area. Moving the pointer to that corner " +#~ "again will cause the panel to re-appear." +#~ msgstr "" +#~ "Jika benar, panel automatik disorok ke sudut skrin bila pentuding " +#~ "meninggalkan kawasan panel. Menggerakkan pentuding ke sudut itu akan " +#~ "menyebabkan panel muncul semula." + +#~ msgid "" +#~ "In a Xinerama setup, you may have panels on each individual monitor. This " +#~ "key identifies the current monitor the panel is displayed on." +#~ msgstr "" +#~ "Pada tetapan Xinerama, anda boleh mempunyai panel pada setiap monitor. " +#~ "Kekunci ini mengenalpasti monitor semasa panel dipaparkan" + +#~ msgid "Name to identify panel" +#~ msgstr "Nama untuk mengcam panel" + +#~ msgid "Panel autohide delay" +#~ msgstr "Lengahan auto sorok" + +#~ msgid "Panel autounhide delay" +#~ msgstr "Lengahan auto nyahsorok panel" + +#~ msgid "Panel orientation" +#~ msgstr "Orientasi panel" + +#~ msgid "Panel size" +#~ msgstr "Saiz panel" + +#~ msgid "Rotate image on vertical panels" +#~ msgstr "Kilas imej pada panel menegak" + +#~ msgid "Specifies the background color for the panel in #RGB format." +#~ msgstr "Nyatakan warna latar belakang bagi panel dalam format #RGB." + +#~ msgid "" +#~ "Specifies the file to be used for the background image. If the image " +#~ "contains an alpha channel it will be composited onto the desktop " +#~ "background image." +#~ msgstr "" +#~ "Nyatakan fail untuk digunakan bagi imej latar belakang. Jika imej " +#~ "mengandungi saluran alfa, ia akan dikompositkan ke imej latar belakang " +#~ "desktop." + +#~ msgid "" +#~ "Specifies the number of milliseconds delay after the pointer enters the " +#~ "panel area before the panel is automatically re-shown. This key is only " +#~ "relevant if the auto_hide key is true." +#~ msgstr "" +#~ "Menyatakan bilangan milisaat selepas penuding masuk ke kawasan panel " +#~ "sebelum panel automatik dipaparkan. Kekunci ini hanya releven jika " +#~ "kekunci auto_hide adalah benar." + +#~ msgid "" +#~ "Specifies the number of milliseconds delay after the pointer leaves the " +#~ "panel area before the panel is automatically hidden. This key is only " +#~ "relevant if the auto_hide key is true." +#~ msgstr "" +#~ "Menyatakan bilangan milisaat selepas penuding meninggalkan kawasan panel " +#~ "sebelum panel automatik disorok. Kekunci ini hanya releven jika kekunci " +#~ "auto_hide adalah benar." + +#~ msgid "" +#~ "Specifies the number of pixels visible when the panel is automatically " +#~ "hidden into a corner. This key is only relevant if the auto_hide key is " +#~ "true." +#~ msgstr "" +#~ "Menyatakan bilangan piksel yg kelihatan bila panel automatik disorok ke " +#~ "sudut. Kekunci ini hanya releven jika kekunci auto_hide adalah benar" + +#~ msgid "Stretch image to panel" +#~ msgstr "Regang imej kepada panel" + +#~ msgid "" +#~ "The height (width for a vertical panel) of the panel. The panel will " +#~ "determine at runtime a minimum size based on the font size and other " +#~ "indicators. The maximum size is fixed at one quarter of the screen height " +#~ "(or width)." +#~ msgstr "" +#~ "Tinggi bagi panel (lebar jika panel menegak) . Panel akan menentukan saiz " +#~ "minimum berdasarkan saiz font dan menunjuk lain. Saiz maksimum adalah " +#~ "tetaü pada suku drpd tinggi (atau lebar) skrin." + +#~ msgid "" +#~ "The location of the panel along the x-axis. This key is only relevant in " +#~ "un-expanded mode. In expanded mode this key is ignored and the panel is " +#~ "placed at the screen edge specified by the orientation key." +#~ msgstr "" +#~ "Lokasi bagi panel disepanjang paksi-x. Kekunci ini hanya releven pada mod " +#~ "un-expanded. Pada mod terkembang kekunci ini diabaikan dan panel " +#~ "diletakkan pada pingguir skrin dinyatakan oleh kekunci orientasi." + +#~ msgid "" +#~ "The location of the panel along the y-axis. This key is only relevant in " +#~ "un-expanded mode. In expanded mode this key is ignored and the panel is " +#~ "placed at the screen edge specified by the orientation key." +#~ msgstr "" +#~ "Lokasi bagi panel disepanjang paksi-y. Kekunci ini hanya releven pada mod " +#~ "un-expanded. Pada mod terkembang kekunci ini diabaikan dan panel " +#~ "diletakkan pada pingguir skrin dinyatakan oleh kekunci orientasi." + +#~ msgid "" +#~ "The speed in which panel animations should occur. Possible values are " +#~ "\"slow\", \"medium\" and \"fast\". This key is only relevant if the " +#~ "enable_animations key is true." +#~ msgstr "" +#~ "kelajuan animasi panel . Nilai yang boleh adalah \"slow\", \"medium\" dan " +#~ "\"fast\". Kekunci ini hanya relevan jika kekunci enable_animations adalah " +#~ "benar." + +#~ msgid "" +#~ "This is a human readable name which you can use to identify a panel. Its " +#~ "main purpose is to serve as the panel's window title which is useful when " +#~ "navigating between panels." +#~ msgstr "" +#~ "Ini adalah nama boleh dibaca manusia dimana anda boleh mengenalpasti " +#~ "panel. Tujuan utama ia adalah untuk berlagak sebagai tajuk tetingkap " +#~ "panel dimana ia berguna bila navigasi antara panel." + +#~ msgid "Visible pixels when hidden" +#~ msgstr "Bilangan piksel kelihatan panel tersembunyi" + +#~ msgid "" +#~ "With a multi-screen setup, you may have panels on each individual screen. " +#~ "This key identifies the current screen the panel is displayed on." +#~ msgstr "" +#~ "Pada pemasangan aneka-skrin, anda boleh mempunyai panel pada skrin secara " +#~ "individu. Kekunci ini mengenalpasti skrin semasa dimana panel dipaparkan." + +#~ msgid "X co-ordinate of panel" +#~ msgstr "Koordinat X bagi panel" + +#~ msgid "X screen where the panel is displayed" +#~ msgstr "Skrin X dimana panel dipaparkan" + +#~ msgid "Xinerama monitor where the panel is displayed" +#~ msgstr "Monitor Xinerama dimana panel dipaparkan" + +#~ msgid "Y co-ordinate of panel" +#~ msgstr "Koordinat Y bagi panel" + +#~ msgid "Cannot display help document" +#~ msgstr "Tak dapat memaparkan dokumen bantuan" + +#~ msgid "Open URL: %s" +#~ msgstr "Buka URL: %s" + +#~ msgid "" +#~ "When a drawer is deleted, the drawer and its\n" +#~ "settings are lost. Delete this drawer?" +#~ msgstr "" +#~ "Bila laci dipadam, laci dan tetapannya\n" +#~ "akan hilang. Buang laci ini?" + +#~ msgid "Delete Drawer" +#~ msgstr "Padam Laci" + +#~ msgid "" +#~ "When a panel is deleted, the panel and its\n" +#~ "settings are lost. Delete this panel?" +#~ msgstr "" +#~ "Bila panel dipadam, panel dan\n" +#~ "tetapannya akan hilang. Buang panel ini?" + +#~ msgid "Delete Panel" +#~ msgstr "Padam Panel" + +#~ msgid "A simple applet for testing the MATE-2.0 panel" +#~ msgstr "Aplet ringkas untuk mencuba panel MATE-2.0" + +#~ msgid "Test MateComponent Applet" +#~ msgstr "Aplet MateComponent Ujian" + +#~ msgid "Test MateComponent Applet Factory" +#~ msgstr "Kilang Aplet MateComponent Ujian" + +#~ msgid "Incomplete '%s' background type received" +#~ msgstr "Jenis latarbelakang tidak sempurna '%s' diterima" + +#~ msgid "Incomplete '%s' background type received: %s" +#~ msgstr "Jenis latarbelakang tidak sempurna '%s' diterima: %s" + +#~ msgid "Failed to get pixmap %s" +#~ msgstr "Gagal untuk mendapatkan pixmap %s" + +#~ msgid "Unknown background type received" +#~ msgstr "Jenis latarbelakang tidak dikenali diterima" + +#~ msgid "The Applet's containing Panel's orientation" +#~ msgstr "Aplet mengandungi orientasi Panel" + +#~ msgid "The Applet's containing Panel's size in pixels" +#~ msgstr "Aplet mengandungi saiz Panel dalam piksel" + +#~ msgid "The Applet's containing Panel's background color or pixmap" +#~ msgstr "Aplet mengandungi warna latar Panel atau pixmap" + +#~ msgid "The Applet's flags" +#~ msgstr "Flag Aplet" + +#~ msgid "Ranges that hint what sizes are acceptable for the applet" +#~ msgstr "Julat yg membayangkan saiz berapa diterima oleh aplet ini" + +#~ msgid "The Applet's containing Panel is locked down" +#~ msgstr "Aplet mengandungi Panel dikunci" + +#~ msgid "Specify an applet IID to load" +#~ msgstr "Nyatakan IID aplet untuk dimuatkan" + +#~ msgid "" +#~ "Specify a mateconf location in which the applet preferences should be stored" +#~ msgstr "Nyatakan lokasi mateconf dimana keutamaan aplet patut disimpan" + +#~ msgid "" +#~ "Specify the initial size of the applet (xx-small, medium, large etc.)" +#~ msgstr "Nyatakan saiz awal bagi aplet(xx-kecil, sederhana, besar etc.)" + +#~ msgid "" +#~ "Specify the initial orientation of the applet (top, bottom, left or right)" +#~ msgstr "Nyatakan orientasi awal bai aplet (atas, bawah, kiri atau kanan)" + +#~ msgid "Top" +#~ msgstr "Atas" + +#~ msgid "Bottom" +#~ msgstr "Bawah" + +#~ msgid "Left" +#~ msgstr "Kiri" + +#~ msgid "Right" +#~ msgstr "Kanan" + +#~ msgid "XX Small" +#~ msgstr "XX Kecil" + +#~ msgid "X Small" +#~ msgstr "X Kecil" + +#~ msgid "Small" +#~ msgstr "Kecil" + +#~ msgid "Medium" +#~ msgstr "Sederhana" + +#~ msgid "Large" +#~ msgstr "Besar" + +#~ msgid "X Large" +#~ msgstr "X Besar" + +#~ msgid "XX Large" +#~ msgstr "XX Besar" + +#~ msgid "Test applet utility" +#~ msgstr "Utiliti aplet Ujian" + +#~ msgid "_Applet:" +#~ msgstr "_Aplet:" + +#~ msgid "_Prefs Dir:" +#~ msgstr "Dir _Pref:" + +#~ msgid "Specify a profile name to load" +#~ msgstr "Nyatakan nama profil untuk dimuatkan" + +#~ msgid "Cannot remove menu item %s" +#~ msgstr "Tak dapat membuang item menu %s" + +#~ msgid "Could not get file name from path: %s" +#~ msgstr "Tak boleh mendapatkan nama fail daripada laluan: %s" + +#~ msgid "Could not get directory name from path: %s" +#~ msgstr "Tak boleh mendapatkan nama direktori daripada laluan: %s" + +#~ msgid "Remove this item" +#~ msgstr "Buang item ini" + +#~ msgid "Add new item to this menu" +#~ msgstr "Tambah item baru pada menu ini" + +#~ msgid "Properties" +#~ msgstr "Ciri-ciri" + +#~ msgid "_Name:" +#~ msgstr "_Nama:" + +#~ msgid "" +#~ "The default application for this type of file cannot handle remote files" +#~ msgstr "" +#~ "Aplikasi default bagi jenis fail ini tidak dapat mengendali fail jauh" + +#~ msgid "Unable to get the name of the command to execute" +#~ msgstr "Tak dapat nama bagi arahan untuk dilaksanakan" + +#~ msgid "" +#~ "You do not have fortune installed or you have not specified a program to " +#~ "run.\n" +#~ "\n" +#~ "Please refer to fish properties dialog." +#~ msgstr "" +#~ "Anda tidak mempunyai fortune yang dipasang atau tidak mempunyai program " +#~ "yang dinyatakan untuk dilaksanakan.\n" +#~ "\n" +#~ "Sila rujuk dialog ciri-ciri ikan. " + +#~ msgid "Debian GNU/Linux" +#~ msgstr "Debian GNU/Linux" + +#~ msgid "Debian Menu" +#~ msgstr "Menu Debian" + +#~ msgid "SuSE Linux" +#~ msgstr "Linux SuSE" + +#~ msgid "SuSE Menu" +#~ msgstr "Menu SuSE" + +#~ msgid "Solaris" +#~ msgstr "Solaris" + +#~ msgid "CDE Menu" +#~ msgstr "Menu CDE" + +#~ msgid "" +#~ "Unable to initialize png structure.\n" +#~ "You probably have a bad version of libpng on your system" +#~ msgstr "" +#~ "Tak dapat memulakan structur png.\n" +#~ "Anda mungkin mempuniyai versi libpng tak elok pada sistem anda" + +#~ msgid "" +#~ "Unable to create png info.\n" +#~ "You probably have a bad version of libpng on your system" +#~ msgstr "" +#~ "Tak dapat mencipta maklumat png.\n" +#~ "Anda mungkin mempuniyai versi libpng tak elok pada sistem anda" + +#~ msgid "" +#~ "Unable to set png info.\n" +#~ "You probably have a bad version of libpng on your system" +#~ msgstr "" +#~ "Tak dapat menetapkan maklumat png.\n" +#~ "Anda mungkin mempuniyai versi libpng tak elok pada sistem anda" + +#~ msgid "" +#~ "Insufficient memory to save the screenshot.\n" +#~ "Please free up some resources and try again." +#~ msgstr "" +#~ "Tak cukup memori untuk menyimpan cekupanskrin.\n" +#~ "Sila bebaskan sedikit sumber dna cuba lagi." + +#~ msgid "File %s already exists. Overwrite?" +#~ msgstr "Fail %s sudah wujud. Tindih?" + +#~ msgid "" +#~ "Unable to create the file:\n" +#~ "\"%s\"\n" +#~ "Please check your permissions of the parent directory" +#~ msgstr "" +#~ "Tak dapat mencipta fail:\n" +#~ "\"%s\"\n" +#~ "Sila periksa keizinan pada direktori pangkal" + +#~ msgid "Screenshot-%s.png" +#~ msgstr "Cekupanku-%s.png" + +#~ msgid "Screenshot.png" +#~ msgstr "Cekupanku.png" + +#~ msgid "Screenshot-%s-%d.png" +#~ msgstr "Cekupanku-%s-%d.png" + +#~ msgid "Screenshot-%d.png" +#~ msgstr "Cekupanku-%d.png" + +#~ msgid "Not enough room to write file %s" +#~ msgstr "Tak cukup ruang untuk menulis fail %s" + +#~ msgid "" +#~ "There was an error displaying help: \n" +#~ "%s" +#~ msgstr "" +#~ "Terdapat ralat memapar bantuan: \n" +#~ "%s" + +#~ msgid "" +#~ "Glade file for the screenshot program is missing.\n" +#~ "Please check your installation of mate-panel" +#~ msgstr "" +#~ "Fail Glade bagi program cekupanskrin hilang.\n" +#~ "Sila Periksa pemasangan mate-core anda" + +#~ msgid "Unable to take a screenshot of the current desktop." +#~ msgstr "Tak dapat mencekup skrin desktop semasa. :(" + +#~ msgid "Save screenshot to _web page (save in %s)" +#~ msgstr "Simpan cekupanskrin ke laman _web (simpan di %s)" + +#~ msgid "Grab a window instead of the entire screen" +#~ msgstr "Genggam tetingkap selain daripada seluruh skrin" + +#~ msgid "Take screenshot after specified delay [in seconds]" +#~ msgstr "Ambil cekupan skrin selepas selangmasa dinyatakan [dalam saat]" + +#~ msgid "<b>Options</b>" +#~ msgstr "<b>Opsyen</b>" + +#~ msgid "<b>Preview</b>" +#~ msgstr "<b>Prebiu</b>" + +#~ msgid "Save Screenshot" +#~ msgstr "Simpan Cekupanskrin" + +#~ msgid "Save screenshot to _desktop" +#~ msgstr "Simpan cekupanskrin ke _desktop" + +#~ msgid "Save screenshot to _file:" +#~ msgstr "Simpan cekupanskrin ke _fail:" + +#~ msgid "Save screenshot to _web page (save in ~/public__html)" +#~ msgstr "Simpan cekupanskrin ke laman _web (simpan di ~/public__html)" + +#~ msgid "" +#~ "The user's directory in which screenshots should be saved so as to appear " +#~ "on the web." +#~ msgstr "" +#~ "Direktori pengguna dimana cekupan skrin akan disimpan supaya ianya muncul " +#~ "di web." + +#~ msgid "Web directory" +#~ msgstr "Direktori web" + +#~ msgid "Desktop" +#~ msgstr "Desktop" + +#~ msgid "" +#~ "The \"%s\" applet appears to have died unexpectedly.\n" +#~ "\n" +#~ "Do you want to reload this applet?" +#~ msgstr "" +#~ "Aplet \"%s\" nampaknya mati tanpa diduga.\n" +#~ "\n" +#~ "Anda mahu ulangmuat aplet ini?" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "(If you choose not to reload it at this time you can always add it by " +#~ "right clicking on the panel and clicking on the \"Add to Panel\" submenu)" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "(Jika anda pilih untuk tidak ulangmuatnya kali ini, anda boleh " +#~ "menambahnya dengan klik-kanan pada panel dan klik pada submenu \"Tambah " +#~ "ke panel\")" + +#~ msgid "Unable to load panel stock icon '%s'\n" +#~ msgstr "Tak dapat memuatkan ikon stol panel '%s'\n" + +#~ msgid "Size:" +#~ msgstr "Saiz:" + +#~ msgid "" +#~ "The system administrator has disallowed\n" +#~ "modification of the panel configuration" +#~ msgstr "" +#~ "Pentadbir sistem telah tidak mengizinkan\n" +#~ "mengubahsuaian konfigurasi panel" + +#~ msgid "Error loading glade file %s" +#~ msgstr "Ralat memuatkan fail glade %s" + +#~ msgid "Panel" +#~ msgstr "Panel" + +#~ msgid "Select preferences for all your panels" +#~ msgstr "Pilih keutamaan bagi semua panel anda" + +#~ msgid "Animation _speed:" +#~ msgstr "Kelajuan _animasi:" + +#~ msgid "Close _drawer when launcher is clicked" +#~ msgstr "_Tutup laci jika pelancar diklik" + +#~ msgid "Drawer and panel _animation" +#~ msgstr "_Animasi laci dan panel" + +#~ msgid "Fast" +#~ msgstr "Laju" + +#~ msgid "Panel Preferences" +#~ msgstr "Keutamaan Panel" + +#~ msgid "Slow" +#~ msgstr "Perlahan" + +#~ msgid "Lock Screen" +#~ msgstr "Kunci Skrin" + +#~ msgid "Lock the screen so that you can temporarily leave your computer" +#~ msgstr "Kunci skrin supaya anda boleh meninggalkan komputer sekejap" + +#~ msgid "Log out of MATE" +#~ msgstr "Log keluar MATE" + +#~ msgid "Search for Files" +#~ msgstr "Cari fail" + +#~ msgid "Screenshot" +#~ msgstr "Cekupanskrin" + +#~ msgid "Lock" +#~ msgstr "Kunci" + +#~ msgid "Lock the screen so you can temporarily leave your computer" +#~ msgstr "Kunci skrin supaya anda boleh meninggalkan komputer sekejap" + +#~ msgid "Search" +#~ msgstr "Carian" + +#~ msgid "Run" +#~ msgstr "Laksana" + +#~ msgid "Run a command" +#~ msgstr "Laksanakan arahan" + +#~ msgid "Utility" +#~ msgstr "Utiliti" + +#~ msgid "Clear recent document history?" +#~ msgstr "Kosongkan sejarah dokumen kebelakangan?" diff --git a/po/nb.po b/po/nb.po new file mode 100644 index 0000000..d531096 --- /dev/null +++ b/po/nb.po @@ -0,0 +1,266 @@ +# Norwegian bokmål translation of mate-menus. +# Copyright (C) 2004, 2005 Red Hat, Inc. +# This file is distributed under the same license as the mate-menus package. +# Kjartan Maraas <[email protected]>, 2004-2008. +# Terance Edward Sola <[email protected]>, 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus 2.23.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-08-04 18:15+0200\n" +"PO-Revision-Date: 2009-08-04 18:15+0200\n" +"Last-Translator: Kjartan Maraas <[email protected]>\n" +"Language-Team: Norwegian Bokmal <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Multimedia" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Lyd og bilde" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Utvikling" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Verktøy for programvareutvikling" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Opplæring" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Spill" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Spill og underholdning" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafikk" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Grafiske programmer" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Maskinvare" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Innstillinger for forskjellige maskinvareenheter" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internett og nettverk" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Nettverksrelaterte innstillinger" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Utseende og oppførsel" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Innstillinger som kontrollerer utseende og oppførsel for skrivebordet" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internett" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programmer for Internettaksess slik som nettleser og e-post" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Kontorstøtte" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Kontorstøtteprogrammer" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Personlig" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Personlige innstillinger" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Administrasjon" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Endre systeminnstillinger (påvirker alle brukere)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Personlige brukervalg" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Brukervalg" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "System" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Systeminnstillinger" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Systemverktøy" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Systemkonfigurasjon og overvåking" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Tilgjengelighet" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Innstillinger for tilgjengelighet" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Tilbehør" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Tilbehør for skrivebordet" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Programmer" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Personlige brukervalg og administrative innstillinger" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Programmer som ikke passer i andre kategorier" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Annet" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Menyredigering" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Rediger menyer" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Programmer" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Forvalg" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menyer:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Enkel menyredigering %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Navn" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Vis" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Kan ikke finne hjemmekatalog: ikke satt i /etc/passwd og det finnes ingen " +"verdi for $HOME i miljøet" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Menyfil" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENY_FIL" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Overvåk endringer i menyen" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Ta med oppføringer i <Exclude> seksjoner" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Ta med oppføringer som har NoDisplay=true" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Ugyldig ID for menyoppføringsfil" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Ugyldig filnavn]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Meny endret, laster på nytt ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Menytreet er tomt" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- test MATE's implementasjon av menyspesifikasjonen" diff --git a/po/nds.po b/po/nds.po new file mode 100644 index 0000000..7e0e208 --- /dev/null +++ b/po/nds.po @@ -0,0 +1,268 @@ +# German, Low translation for mate-menus +# Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 +# This file is distributed under the same license as the mate-menus package. +# Nils-Christoph Fiedler <[email protected]>, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-" +"menus&component=general\n" +"POT-Creation-Date: 2009-10-21 05:32+0000\n" +"PO-Revision-Date: 2009-10-22 18:55+0100\n" +"Last-Translator: Nils-Christoph Fiedler <[email protected]>\n" +"Language-Team: Low German <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2009-04-14 19:08+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Multimedia" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Ton un Bild" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programmeeren" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Hölpprogrammen to'r Programmkonstruktschoon" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Erteken" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Speelen" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Speel un Spoos" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafik" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Grafikprogramme" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Hardware" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Instellens för unnerscheedliche Hardware" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Innernet un Netwark" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Netwarksinstellens" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Utsehn" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Instellensstüern vun Schrievdiskverhollen un -utsehn" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Innernet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programme för Innernettogrip as Net un E-Post" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Kontor" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Kontorprogramme" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Persönlich" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Persönliche Instellens" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Verwaltens" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Systemwiete Instellens ännern (Geiht all Bruker wat an)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Persönliche Instellens" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Instellens" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "System" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Systeminstellens" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Systemprogramme" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Systemkonfiguratschoon un Oppassens" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Togrip in'n Groten un Ganzen" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Togripinstellens in'n Groten un Ganzen" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Tobehör" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Schrievdisk Tobehör" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Programme" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Persönliche Vorleeben un administrative Instellens" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Programme de keene Schieblade passen" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Annere" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Menüverwaltens" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Menüs bewarken" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Programme:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Standard" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menüs:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Menü Verwaltens %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Naam" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Opwiesen" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Kann dat eegen Verteeknis nich finnen: wedder in /etc/passwd noch in $HOME " +"als Wert gesetzt" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Menüdatei" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Menüanpassens oppassen" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Föge <Exclude>d Indräge in" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Föge NoDisplay=true Indräge hento" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Falsche Schrievdiskdatei ID" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Falscher Dateinaam]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <utsluten>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Menü is ännert worrn, lade nüe ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Menüstruktur is leer" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- MATE's Umsetten vun de Schrievdiskspezifikatschoon vorknüppen" diff --git a/po/ne.po b/po/ne.po new file mode 100644 index 0000000..23d6f4e --- /dev/null +++ b/po/ne.po @@ -0,0 +1,275 @@ +# translation of mate-menus.HEAD.ne.po to Nepali +# Nepali Translation Project. +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# FIRST AUTHOR <EMAIL@ADDRESS>, 2005. +# Ganesh Ghimire <[email protected]>, 2005. +# Nabin Gautam <[email protected]>, 2007. +msgid "" +msgstr "" +"Project-Id-Version: mate-menus.HEAD.ne\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-02 03:41+0100\n" +"PO-Revision-Date: 2007-10-16 14:50+0545\n" +"Last-Translator: Nabin Gautam <[email protected]>\n" +"Language-Team: Nepali <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Nepali\n" +"X-Poedit-Country: NEPAL\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n !=1\n" + +#: ../desktop-directories/Accessibility.directory.in.h:1 +#: ../desktop-directories/Settings-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "विश्वब्यापी पहुँच" + +#: ../desktop-directories/Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "विश्वब्यापी पहुँच सेटिङ" + +#: ../desktop-directories/Accessories.directory.in.h:1 +msgid "Accessories" +msgstr "सहायक उपकरण" + +#: ../desktop-directories/Accessories.directory.in.h:2 +msgid "Desktop accessories" +msgstr "डेस्कटप सहायक उपकरण" + +#: ../desktop-directories/Applications.directory.in.h:1 +msgid "Applications" +msgstr "अनुप्रयोग" + +#: ../desktop-directories/Desktop.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "व्यक्तिगत प्राथमिकता र प्रशासकिय सेटिङ" + +#: ../desktop-directories/Desktop.directory.in.h:2 +#: ../desktop-directories/System.directory.in.h:1 +msgid "System" +msgstr "प्रणाली" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "प्रोग्रामिङ" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "सफ्टवेर विकासका लागि उपकरण" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "शिक्षा" + +#: ../desktop-directories/Games.directory.in.h:1 +msgid "Games" +msgstr "खेल" + +#: ../desktop-directories/Games.directory.in.h:2 +msgid "Games and amusements" +msgstr "खेल र मनोरञ्जन" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "ग्राफिक्स" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "ग्राफिक्स अनुप्रयोग" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "हार्डवेयर" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "विभिन्न हार्डवेयर यन्त्रका लागि सेटिङ" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "इन्टरनेट र सञ्जाल" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "सञ्जाल सम्बन्धि सेटिङ" + +#: ../desktop-directories/Internet.directory.in.h:1 +msgid "Internet" +msgstr "इन्टरनेट" + +#: ../desktop-directories/Internet.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "वेब र इमेल जस्तो इन्टरनेट पहुँचका लागि कार्यक्रम" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "हेर्नुहोस् अनुभव गर्नुहोस्" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "डेस्कटप देखावट र व्यवहार नियन्त्रण गर्ने सेटिङ" + +#: ../desktop-directories/Multimedia.directory.in.h:1 +msgid "Multimedia menu" +msgstr "मल्टिमिडिया मेनु" + +#: ../desktop-directories/Multimedia.directory.in.h:2 +msgid "Sound & Video" +msgstr "ध्वनि र भिडियो" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "कार्यालय" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "कार्यालय अनुप्रयोग" + +#: ../desktop-directories/Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "अन्य कोटिमा नमिलेका अनुप्रयोग" + +#: ../desktop-directories/Other.directory.in.h:2 +msgid "Other" +msgstr "अन्य" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "व्यक्तिगत" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "व्यक्तिगत सेटिङ" + +#: ../desktop-directories/Preferences.directory.in.h:1 +msgid "Personal preferences" +msgstr "व्यक्तिगत प्राथमिकता" + +#: ../desktop-directories/Preferences.directory.in.h:2 +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "प्राथमिकता" + +#: ../desktop-directories/Settings-Accessibility.directory.in.h:2 +msgid "Universal access related preferences" +msgstr "विश्वब्यापी पहुँच सम्बन्धि प्राथमिकता" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences and settings" +msgstr "व्यक्तिगत प्राथमिकता र सेटिङ" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "प्रणाली सेटिङ" + +#: ../desktop-directories/System-Settings.directory.in.h:1 +msgid "Administration" +msgstr "प्रशासन" + +#: ../desktop-directories/System-Settings.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "सम्पूर्ण प्रणालीका सेटिङ परिवर्तन गर्नुहोस् ( सबै प्रयोगकर्तालाई प्रभाव पार्छ)" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "प्रणाली उपकरण" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "प्रणाली कन्फिगरेसन र अनुगमन" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "मेनु सम्पादक" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "मेनु सम्पादन गर्नुहोस्" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "अनुप्रयोग:" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "पुर्वनिर्धारित" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "मेनु:" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123 +msgid "Name" +msgstr "नाम" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115 +msgid "Show" +msgstr "देखाउनुहोस्" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "गृह डाइरेक्टरी फेला पार्न सकिँदैन: /etc/passwd मा सेट छैन र परिवेशमा $HOME का लागि मान छैन" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "मेनु फाइल" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "मेनु परिवर्तनका लागि मोनिटर" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "समाविष्ट <Exclude> प्रविष्टि" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "NoDisplay=ठीक प्रविष्टि सम्मिलित गर्नुहोस्" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "अवैध डेस्कटप फाइल आईडी" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[अवैध फाइलनाम]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== मेनु परिवर्तन गरियो, रिलोडिङ ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "मेनु ट्री खाली छ" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- डेस्कटप मेनु विशिष्टिकरणको जिनोम कार्यान्वयनको परीक्षण गर्नुहोस्" + diff --git a/po/nl.po b/po/nl.po new file mode 100644 index 0000000..f53c167 --- /dev/null +++ b/po/nl.po @@ -0,0 +1,281 @@ +# Dutch translation of mate-menus +# +# This file is distributed under the same license as the mate-menus package. +# +# Daniel van Eeden <[email protected]>, 2004 +# Tino Meinen <[email protected]>, 2005 +# Wouter Bolsterlee <[email protected]>, 2007–2010 +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 18:01+0200\n" +"PO-Revision-Date: 2010-03-30 18:01+0200\n" +"Last-Translator: Wouter Bolsterlee <[email protected]>\n" +"Language-Team: Dutch <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# menu weglaten +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Multimedia" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Geluid & Video" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Ontwikkeling" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Gereedschap voor software-ontwikkeling" + +# leermiddelen +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Educatie" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Spelletjes" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Spelletjes en amusement" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafisch" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Grafische toepassingen" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Hardware" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Hardware-instellingen" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet en netwerk" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Netwerkgerelateerde instellingen" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Uiterlijk en gedrag" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Instellingen voor het uiterlijk en gedrag van de werkomgeving" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Toepassingen voor internettoegang zoals web en e-mail" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Kantoor" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Kantoortoepassingen" + +#. Translators: this is Personal as in "Personal settings" +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal" +msgstr "Persoonlijk" + +#: ../desktop-directories/Personal.directory.in.h:3 +msgid "Personal settings" +msgstr "Persoonlijke voorkeuren" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Beheer" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Systeembrede instellingen (op alle gebruikers van toepassing)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Persoonlijke voorkeuren" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Voorkeuren" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Systeem" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Systeeminstellingen" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Systeemgereedschap" + +# was eerst monitoring, vervangen door controle +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Systeemconfiguratie en -controle" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Toegankelijkheid" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Toegankelijkheidsinstellingen" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Hulpmiddelen" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Bureaubladhulpmiddelen" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Toepassingen" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Persoonlijke voorkeuren en instellingen" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "" +"Toepassingen die niet in een andere categorie ondergebracht kunnen worden" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Overig" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Menu-editor" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Menu's bewerken" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Toepassingen:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Standaardinstellingen" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menu's:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Menu-editor %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Naam" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Tonen" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Kan de persoonlijke map niet vinden: niet ingesteld in /etc/passwd en geen " +"waarde voor $HOME in de omgevingsvariabelen" + +#~ msgid "Universal access related preferences" +#~ msgstr "Toegangelijkheidsgerelateerde voorkeuren" + +#~ msgid "Personal preferences and settings" +#~ msgstr "Persoonlijke voorkeuren en instellingen" + +#~ msgid "Menu file" +#~ msgstr "Menubestand" + +#~ msgid "MENU_FILE" +#~ msgstr "MENU_BESTAND" + +# in de gaten houden/controleren op/monitoren voor +#~ msgid "Monitor for menu changes" +#~ msgstr "Monitoren voor menuwijzigingen" + +#~ msgid "Include <Exclude>d entries" +#~ msgstr "Inclusief <Excluded> items" + +#~ msgid "Include NoDisplay=true entries" +#~ msgstr "Inclusief NoDisplay=true items" + +#~ msgid "Invalid desktop file ID" +#~ msgstr "Ongeldig ID voor desktopbestand" + +#~ msgid "[Invalid Filename]" +#~ msgstr "[Ongeldige bestandsnaam]" + +#~ msgid " <excluded>" +#~ msgstr " <excluded>" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "==== Menu changed, reloading ====\n" +#~ "\n" +#~ "\n" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "==== Menu is gewijzigd, herladen ====\n" +#~ "\n" +#~ "\n" + +#~ msgid "Menu tree is empty" +#~ msgstr "Menustructuur is leeg" + +#~ msgid "- test MATE's implementation of the Desktop Menu Specification" +#~ msgstr "- de MATE-implementatie van de Desktop Menu Specification testen" + +#~ msgid "Accessibility" +#~ msgstr "Toegankelijkheid" + +#~ msgid "Accessibility Settings" +#~ msgstr "Toegankelijkheidsinstellingen" + +# werkomgeving/bureaublad/desktop/werkblad +#~ msgid "Desktop" +#~ msgstr "Bureaublad" + +#~ msgid "Hide" +#~ msgstr "Verbergen" diff --git a/po/nn.po b/po/nn.po new file mode 100644 index 0000000..1757753 --- /dev/null +++ b/po/nn.po @@ -0,0 +1,275 @@ +# translation of nn.po to Norwegian Nynorsk +# Norwegian (nynorsk) translation of mate-menus. +# Copyright (C) Roy-Magne Mo <[email protected]>, 2001. +# Roy-Magne Mo <[email protected]>, 2001. +# Åsmund Skjæveland <[email protected]>, 2003, 2004. +# Kjartan Maraas <[email protected]>, 2005. +# Eskild Hustvedt <[email protected]>, 2008. +# Torstein Adolf Winterseth <[email protected]>, 2010. +# Torstein Winterseth <[email protected]>, 2010. +msgid "" +msgstr "" +"Project-Id-Version: mate-control-center 2.9.4\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-" +"menus&component=general\n" +"POT-Creation-Date: 2010-03-28 07:09+0000\n" +"PO-Revision-Date: 2010-09-01 18:55+0200\n" +"Last-Translator: Torstein Winterseth <[email protected]>\n" +"Language-Team: [email protected]\n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Virtaal 0.6.1\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Multimediameny" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Lyd og bilete" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Utvikling" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Verktøy for programvareutvikling" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Utdanning" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Spel" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Spel og underhalding" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafikk" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Grafikkprogram" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Maskinvare" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Innstillingar for fleire maskinvareeiningar" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internett og nettverk" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Nettverksrelaterte innstillingar" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Utsjåande" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Innstillingar som kontrollerer utsjånaden og åtferda til skrivebordet" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internett" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Program for bruk på Internett, som nettlesar og e-postklient" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Kontor" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Kontorprogram" + +#. Translators: this is Personal as in "Personal settings" +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal" +msgstr "Personleg" + +#: ../desktop-directories/Personal.directory.in.h:3 +msgid "Personal settings" +msgstr "Personlege innstillingar" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Administrasjon" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Endra innstillingar for heile systemet (påverkar alle brukarar)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Personlege innstillingar" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Innstillingar" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "System" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Systeminnstillingar" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Systemverktøy" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Oppsett og overvaking av systemet" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Tilgjenge" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Innstillingar for tilgjenge" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Verktøy" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Verktøy for skrivebordet" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Program" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Personlege og administrative innstillingar" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Program som ikkje passar i andre kategoriar" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Anna" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Menyredigering" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Rediger menyar" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Program:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Forval" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menyar:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Enkel menyredigering %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Namn" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Vis" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Klarte ikkje finna heimemappe: Ikkje seten i /etc/passwd og ingen verdi for " +"$HOME i miljøet" + +#~ msgid "Menu file" +#~ msgstr "Menyfil" + +#~ msgid "MENU_FILE" +#~ msgstr "MENY_FIL" + +#~ msgid "Monitor for menu changes" +#~ msgstr "Overvak menyen for endringar" + +#~ msgid "Include <Exclude>d entries" +#~ msgstr "Inkluder oppføringar som har blitt ekskludert med <exclude>" + +#~ msgid "Include NoDisplay=true entries" +#~ msgstr "" +#~ "Inkluder oppføringar som er satt til å ikkje verta vist med NoDisplay=true" + +#~ msgid "Invalid desktop file ID" +#~ msgstr "Ugyldig ID for desktop-fil" + +#~ msgid "[Invalid Filename]" +#~ msgstr "[Ugyldig filnamn]" + +#~ msgid " <excluded>" +#~ msgstr " <ekskludert>" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "==== Menu changed, reloading ====\n" +#~ "\n" +#~ "\n" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "==== Meny endra, lastar på nytt ===\n" +#~ "\n" +#~ "\n" + +#~ msgid "Menu tree is empty" +#~ msgstr "Menytreet er tomt" + +#~ msgid "- test MATE's implementation of the Desktop Menu Specification" +#~ msgstr "- test MATE sin implementasjon av desktop-menyspesifikasjonen" + +#~ msgid "Universal access related preferences" +#~ msgstr "Innstillingar relatert til tilgjenge" + +#~ msgid "Personal preferences and settings" +#~ msgstr "Personlege innstillingar" + +#~ msgid "Accessibility" +#~ msgstr "Tilgjenge" + +#~ msgid "Desktop" +#~ msgstr "Skrivebord" diff --git a/po/oc.po b/po/oc.po new file mode 100644 index 0000000..f1e4d1b --- /dev/null +++ b/po/oc.po @@ -0,0 +1,266 @@ +# Translation of oc.po to Occitan +# Occitan translation of mate-menus. +# Copyright (C) 2007 Free Software Foundation, Inc. +# This file is distributed under the same license as the mate-menus package. +# +# Yannig Marchegay (Kokoyaya) <[email protected]>, 2007. +msgid "" +msgstr "" +"Project-Id-Version: oc\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-07-02 08:58+0200\n" +"PO-Revision-Date: 2007-12-23 12:20+0100\n" +"Last-Translator: Yannig Marchegay (Kokoyaya) <[email protected]>\n" +"Language-Team: Occitan <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Multimèdia" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Son e vidèo" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Desvolopament" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Espleches per desvolopar de logicials" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Educacion" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Jòcs" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Jòcs e divertiments" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafisme" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Logicials grafics" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Material" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Paramètres per d'unes periferics materials" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet e ret" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Paramètres en relacion amb la ret" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "" +"Logicials per accedir a internet, coma lo web o los messatges electronics" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Burèu" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Logicials pel burèu" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Personal" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Paramètres personals" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Administracion" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Preferéncias personalas" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Preferéncias" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Sistèma" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Paramètres del sistèma" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Espleches sistèma" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Configuracion e susvelhança del sistèma" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Accès universal" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Accessòris" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Accessòris del burèu" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Aplicacions" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Preferéncias personalas e paramètres del sistèma" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Logicials que dintran pas dins las autras categorias" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Autre" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Editor de menuts" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "Editar los menuts" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "_Aplicacions :" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "Valors pre_definidas" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "_Menuts :" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Nom" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Visualizar" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Impossible de localizar lo repertòri personal : pas definit dins /etc/passwd " +"e la variabla d'environament $HOME es voida" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Fichièr de menut" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "FICHIÈR_MENUT" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Susvelhar los cambiaments de menut" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Inclure las entradas exclusas amb <Exclude>" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Inlure las entradas \"de visualizar pas\" (NoDisplay=true)" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Indentificant del fichièr .desktop invalid" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Nom de fichièr invalid]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluses>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Menut modificat, recargament en cors ====↵\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "L'arborescéncia de menut es voida" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "" +"- ensajar l'implementacion MATE de l'especificacion dels menuts .desktop" + +#~ msgid "Personal preferences and settings" +#~ msgstr "Preferéncias e paramètres personals" diff --git a/po/or.po b/po/or.po new file mode 100644 index 0000000..22a4081 --- /dev/null +++ b/po/or.po @@ -0,0 +1,274 @@ +# translation of mate-menus.master.or.po to Oriya +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# Subhransu Behera <[email protected]>, 2006. +# Manoj Kumar Giri <[email protected]>, 2008. +# Manoj Kumar Giri <[email protected]>, 2009. +msgid "" +msgstr "" +"Project-Id-Version: mate-menus.master.or\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n" +"POT-Creation-Date: 2009-06-21 17:35+0000\n" +"PO-Revision-Date: 2009-08-13 20:05+0530\n" +"Last-Translator: Manoj Kumar Giri <[email protected]>\n" +"Language-Team: Oriya <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n\n" +"\n" +"\n" +"\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "ବହୁମାଧ୍ଯମ ତାଲିକା" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "ଧ୍ବନି ଏବଂ ଭିଡିଓ" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "ପ୍ରୋଗ୍ରାମିଙ୍ଗ" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "ସଫ୍ଟୱେର ବିକାଶ ପାଇଁ ଉପକରଣ" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "ଶିକ୍ଷା" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "ଖେଳ" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "ଖେଳ ଏବଂ ମନୋରଞ୍ଜନ" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "ଆଲେଖୀ" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "ଆଲେଖୀ ପ୍ରୟୋଗ" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "ହାର୍ଡୱେର" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "କେତେକ ହାର୍ଡୱେର ଯନ୍ତ୍ରଗୁଡିକ ପାଇଁ ବିନ୍ୟାସ" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "ଇନ୍ଟରନେଟ ଏବଂ ନେଟୱର୍କ" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "ନେଟୱର୍କ ସମ୍ପର୍କୀୟ ବିନ୍ୟାସ" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "ଦେଖନ୍ତୁ ଏବଂ ଅନୁଭବ କରନ୍ତୁ" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "ଡେସ୍କଟପ ପରିଦୃଶ୍ୟ ଏବଂ ଆଚରଣକୁ ନିୟନ୍ତ୍ରଣ କରୁଥିବା ବିନ୍ୟାସ" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "ଇଣ୍ଟରନେଟ" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "ଇଣ୍ଟରନେଟ ଅଭିଗମ୍ୟତା ପାଇଁ ୱେବ ଏବଂ ଇ-ମେଲ ଭଳି ପ୍ରୋଗ୍ରାମଗୁଡ଼ିକ" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "କାର୍ଯ୍ଯାଳୟ" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "କାର୍ଯ୍ଯାଳୟ ପ୍ରୟୋଗ" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "ବ୍ୟକ୍ତିଗତ" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "ବ୍ଯକ୍ତିଗତ ବିନ୍ଯାସ" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "ପ୍ରଶାସନ" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "ତନ୍ତ୍ର ବ୍ଯାପି ବିନ୍ଯାସକୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ (ସମସ୍ତ ଉପଭୋକ୍ତା ମାନଙ୍କୁ ପ୍ରଭାବିତ କରିଥାଏ)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "ବ୍ଯକ୍ତିଗତ ପସନ୍ଦ" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "ପସନ୍ଦ" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "ତନ୍ତ୍ର" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "ତନ୍ତ୍ର ବିନ୍ୟାସ" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "ତନ୍ତ୍ର ଉପକରଣ" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "ତନ୍ତ୍ର ବିନ୍ଯାସ ଏବଂ ନିରୀକ୍ଷଣ" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "ସାର୍ବଜନିକ ଅଭିଗମ୍ୟତା" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "ସାର୍ବଜନିକ ଅଭିଗମ୍ୟତା ବିନ୍ଯାସ" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "ସହାୟକ ବସ୍ତୁ" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "ଡେସ୍କଟପ୍ ସହାୟକ ବସ୍ତୁ" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "ପ୍ରୟୋଗ" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "ବ୍ଯକ୍ତିଗତ ପସନ୍ଦ ଏବଂ ପ୍ରଶାସନିକ ବିନ୍ଯାସ" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "ପ୍ରୟୋଗ ଯାହାକି ଅନ୍ଯ କୌଣସି ଶ୍ରେଣୀ ସହିତ ଖାପ ଖାଇଲା ନାହିଁ" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "ଅନ୍ଯାନ୍ଯ" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "ତାଲିକା ସମ୍ପାଦକ" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "ତାଲିକାକୁ ସମ୍ପାଦନ କରନ୍ତୁ" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "ପ୍ରୟୋଗ (_A):" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "ପୂର୍ବ ନିର୍ଦ୍ଧାରିତ (_D)" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "ତାଲିକା (_M):" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +#| msgid "Menu Editor" +msgid "Simple Menu Editor %s" +msgstr "ସରଳ ତାଲିକା ସମ୍ପାଦକ %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "ନାମ" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "ଦେଖାନ୍ତୁ" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"ମୂଳସ୍ଥାନ ପଞ୍ଜିକାକୁ ପାଇ ପାରିବ ନାହିଁ: /etc/passwdରେ ବିନ୍ଯାସ କରାଯାଇ ନାହିଁ ଏବଂ ପରିବେଶରେ $HOME " +"ପାଇଁ କୌଣସି ମୂଲ୍ଯ ନାହିଁ" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "ତାଲିକା ଫାଇଲ" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "ତାଲିକା ଫାଇଲ (_F)" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "ତାଲିକା ପରିବର୍ତ୍ତନ ଉପରେ ଦ୍ରୁଷ୍ଟି ରଖନ୍ତୁ" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "<Exclude>d ପ୍ରବିଷ୍ଟିକୁ ଅନ୍ତର୍ଭୁକ୍ତ କରନ୍ତୁ" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "NoDisplay=true ପ୍ରବିଷ୍ଟିକୁ ଅନ୍ତର୍ଭୁକ୍ତ କରନ୍ତୁ" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "ଅବୈଧ ଡେସ୍କଟପ୍ ଫାଇଳ ପରିଚୟକୁ ଅନ୍ତର୍ଭୁକ୍ତ କରନ୍ତୁ" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[ଅବୈଧ ଫାଇଲ ନାମ]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <ବାଦ କରାଗଲା>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== ତାଲିକାକୁ ପରିବର୍ତ୍ତିତ କରାଗଲା, ପୁନର୍ଧାରଣ କରୁଅଛି ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "ତାଲିକା ବ୍ରୁକ୍ଷଟି ଖାଲି ଅଛି" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- ଡେସ୍କଟପ୍ ତାଲିକା ନିର୍ଦ୍ଧିଷ୍ଟକରଣର ନୋମ୍ ସାଧନକୁ ଯାଞ୍ଚ କରୁଅଛି" + diff --git a/po/pa.po b/po/pa.po new file mode 100644 index 0000000..88a7bc2 --- /dev/null +++ b/po/pa.po @@ -0,0 +1,275 @@ +# translation of mate-menus.HEAD.po to Punjabi +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# A S Alam <[email protected]>, 2005,2006,2007,2008,2009. +# Amanpreet Singh Alam <[email protected]>, 2009. +msgid "" +msgstr "" +"Project-Id-Version: mate-menus.HEAD\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug." +"cgi?product=mate-menus&component=general\n" +"POT-Creation-Date: 2009-06-21 17:35+0000\n" +"PO-Revision-Date: 2009-09-10 06:45+0530\n" +"Last-Translator: A S Alam <[email protected]>\n" +"Language-Team: Punjabi/Panjabi <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "ਮਲਟੀਮੀਡਿਆ ਮੇਨੂ" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "ਸੰਗੀਤ ਅਤੇ ਵੀਡਿਓ" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "ਪਰੋਗਰਾਮਿੰਗ" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "ਸਾਫਟਵੇਅਰ ਦੇ ਡਿਵੈਲਪਮੈਂਟ ਲਈ ਟੂਲ" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "ਸਿੱਖਿਆ" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "ਖੇਡਾਂ" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "ਖੇਡਾਂ ਅਤੇ ਮਨੋਰੰਜਨ" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "ਚਿੱਤਰਕਾਰੀ" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "ਚਿੱਤਰਕਾਰੀ ਕਾਰਜ" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "ਜੰਤਰ" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "ਕਈ ਜੰਤਰਾਂ ਲਈ ਸਥਾਪਨ" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "ਇੰਟਰਨੈੱਟ ਅਤੇ ਨੈੱਟਵਰਕ" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "ਨੈੱਟਵਰਕ ਨਾਲ ਸਬੰਧਤ ਸਥਾਪਨ" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "ਦਿੱਖ ਅਤੇ ਵਰਤੋਂ" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "ਡੈਸਕਟਾਪ ਦਿੱਖ ਅਤੇ ਰਵੱਈਆ ਕੰਟਰੋਲ ਕਰਨ ਲਈ ਸਥਾਪਨ" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "ਇੰਟਰਨੈੱਟ" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "ਇੰਟਰਨੈੱਟ ਇਸਤੇਮਾਲ ਕਰਨ ਲਈ ਕਾਰਜ, ਜਿਵੇਂ ਕਿ ਵੈੱਬ ਤੇ ਈ-ਮੇਲ" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "ਦਫ਼ਤਰ" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "ਦਫ਼ਤਰ ਕਾਰਜ" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "ਨਿੱਜੀ" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "ਨਿੱਜੀ ਸੈਟਿੰਗ" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "ਪਰਸ਼ਾਸਨ" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "ਪੂਰੇ ਸਿਸਟਮ ਲਈ ਸਥਾਪਨ ਬਦਲਾਅ (ਸਭ ਯੂਜ਼ਰਾਂ ਨੂੰ)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "ਨਿੱਜੀ ਪਸੰਦ" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "ਮੇਰੀ ਪਸੰਦ" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "ਸਿਸਟਮ" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "ਸਿਸਟਮ ਸੈਟਿੰਗ" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "ਸਿਸਟਮ ਟੂਲ" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "ਸਿਸਟਮ ਸੰਰਚਨਾ ਅਤੇ ਨਿਗਰਾਨੀ" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "ਵਿਆਪਕ ਪਹੁੰਚ" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "ਵਿਆਪਕ ਪਹੁੰਚ ਸਥਾਪਨ" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "ਸਹਾਇਕ" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "ਡੈਸਕਟਾਪ ਸਹਾਇਕ" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "ਐਪਲੀਕੇਸ਼ਨ" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "ਨਿੱਜੀ ਪਸੰਦ ਅਤੇ ਪਰਸ਼ਾਸਨੀ ਸਥਾਪਨ" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "ਕਾਰਜ, ਜੋ ਕਿ ਕਿਸੇ ਵਰਗ ਵਿੱਚ ਨਹੀਂ ਆਉਦੇ।" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "ਹੋਰ" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "ਮੇਨੂ ਸੰਪਾਦਕ" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "ਮੇਨੂ ਸੋਧ" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "ਕਾਰਜ(_A):" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "ਮੂਲ(_D)" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "ਮੇਨੂ(_M):" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49, python-format +#| msgid "Menu Editor" +msgid "Simple Menu Editor %s" +msgstr "ਸੌਖਾ ਜਿਹਾ ਮੇਨੂ ਸੰਪਾਦਕ %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "ਨਾਂ" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "ਵੇਖੋ" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"ਘਰ ਡਾਇਰੈਕਟਰੀ ਨਹੀਂ ਮਿਲੀ: /etc/passwd ਵਿੱਚ ਕੁਝ ਦਿੱਤਾ ਨਹੀਂ ਹੈ ਅਤੇ ਮਾਹੌਲ ਵਿੱਚ $HOME ਲਈ ਕੋਈ " +"ਮੁੱਲ ਨਹੀਂ ਹੈ।" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "ਮੇਨੂ ਫਾਇਲ" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "ਮੇਨੂ ਤਬਦੀਲੀਆਂ ਲਈ ਨਿਗਰਾਨ" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "<Exclude> ਐਂਟਰੀ ਸ਼ਾਮਲ" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "NoDisplay=true entries ਸ਼ਾਮਲ" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "ਗਲਤ ਡੈਸਕਟਾਪ ਫਾਇਲ ID" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[ਗਲਤ ਫਾਇਲ ਨਾਂ]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== ਮੇਨੂ ਬਦਲਿਆ ਗਿਆ, ਮੁੜ ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "ਮੇਨੂ ਲੜੀ ਖਾਲੀ ਹੈ" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- ਜਾਂਚ ਡੈਸਕਟਾਪ ਮੇਨੂ ਨਿਰਧਾਰਨ ਦਾ ਗਨੋਮ ਸਥਾਪਨ" + +#~ msgid "Universal access related preferences" +#~ msgstr "ਯੂਨੀਵਰਸਲ ਪਹੁੰਚ ਨਾਲ ਸਬੰਧੀ ਪਸੰਦ" + +#~ msgid "Personal preferences and settings" +#~ msgstr "ਨਿੱਜੀ ਪਸੰਦ ਅਤੇ ਸੈਟਿੰਗ" diff --git a/po/pl.po b/po/pl.po new file mode 100644 index 0000000..b3de604 --- /dev/null +++ b/po/pl.po @@ -0,0 +1,280 @@ +# Copyright (C) 2001-2009 Free Software Foundation, Inc. +# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +# Aviary.pl +# Jeśli masz jakiekolwiek uwagi odnoszące się do tłumaczenia lub chcesz +# pomóc w jego rozwijaniu i pielęgnowaniu, napisz do nas: +# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-08-25 19:23+0200\n" +"PO-Revision-Date: 2009-08-25 19:25+0100\n" +"Last-Translator: Tomasz Dominikowski <[email protected]>\n" +"Language-Team: Polish <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Poedit-Language: Polish\n" +"X-Poedit-Country: Poland\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Multimedia" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Dźwięk i obraz" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programowanie" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Narzędzia do tworzenia oprogramowania" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Nauka" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Gry" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Gry i rozrywka" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafika" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Programy graficzne" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Sprzęt" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Ustawienia dla wielu urządzeń" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet i sieć " + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Ustawienia związane z siecią" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Wygląd" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Ustawienia wyglądu i działania środowiska" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programy umożliwiające dostęp do Internetu, jak strony WWW, czy e-mail" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Biuro" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Programy biurowe" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Osobiste" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Ustawienia osobiste" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Administracja" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Zmiana ustawień systemowych (wpływa na wszystkich użytkowników)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Ustawienia osobiste" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Preferencje" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "System" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Ustawienia systemowe" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Narzędzia systemowe" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Monitorowanie i konfiguracja systemu" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Dostęp uniwersalny" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Ustawienia uniwersalnego dostępu" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Akcesoria" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Akcesoria pulpitu" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Programy" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Preferencje osobiste i ustawienia administracyjne" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Programy niepasujące do innych kategorii" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Inne" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Edytor menu" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Modyfikuje menu" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "Progr_amy:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Domyślne" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menu:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Prosty edytor menu %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Nazwa" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Wyświetlanie" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment" +msgstr "Nie można odnaleźć katalogu domowego: brak ustawień w /etc/passwd i wartości zmiennej środowiskowej $HOME" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Plik menu" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "PLIK_MENU" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Śledzenie zmian menu" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Włącznie z <wykluczonymi> elementami" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Włącznie z niewyświetlanymi elementami" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Niepoprawny ID pliku pulpitu" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Niepoprawna nazwa pliku]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <wykluczone>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Menu uległo zmianie, ponowne wczytywanie ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 +#: ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Drzewo menu jest puste" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- testuje specyfikację menu pulpitu zaimplementowaną w środowisku MATE" + +#~ msgid "Universal access related preferences" +#~ msgstr "Preferencje związane z uniwersalną dostępnością" +#~ msgid "Personal preferences and settings" +#~ msgstr "Ustawienia i osobiste preferencje" +#~ msgid "Accessibility" +#~ msgstr "Dostępność" +#~ msgid "Accessibility Settings" +#~ msgstr "Ustawienia dostępności" +#~ msgid "Desktop" +#~ msgstr "Pulpit" + diff --git a/po/ps.po b/po/ps.po new file mode 100644 index 0000000..71bd58e --- /dev/null +++ b/po/ps.po @@ -0,0 +1,259 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus.head\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-07-05 03:57+0000\n" +"PO-Revision-Date: 2008-07-05 16:23-0800\n" +"Last-Translator: Zabeeh Khan <[email protected]>\n" +"Language-Team: Pashto <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Pashto, Pushto\n" +"X-Poedit-Country: AFGHANISTAN\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "ګڼرسنۍ غورنۍ" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "غږ او وېډيو" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "پروګرامونه" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "د ساوترو جوړولو لپاره توکي" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "زدکړه" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "لوبې" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "لوبې او مهالتيري" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "کښنيزونه" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "کښنيزونو کاريالونه" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "هډوتري" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "د ډېرو هډوتري وزلو لپاره امستنې" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "اېنټرنېټ او ځال" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "ځال پورې تړلې امستنې" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "ښکارېدنه" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "د سرپاڼې د ښکارېدو او کړه وړې امستنې" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "اېنټرنېټ" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "د اېنټرنېټ د لاسرس لپاره کړنلارې لکه ګورت او برېښليک" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "افس" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "د افس کاريالونه" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "وګړيز" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "وګړيزې امستنې" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "پازوالنه" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "(په ټولو کارنانو کارول کيږي) غونډال-ارت امستنې بدلول" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "وکړيز غوراوي" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "غوراوي" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "غونډال" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "غونډال امستنې" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "غونډال توکي" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "د غونډال سازونه او ليدنه" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "نړېوال لاسرس" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "د نړېوال لاسرس امستنې" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "ملتوکي" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "د سرپاڼې ملتوکي" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "کاريالونه" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "وګړيز غوراوي او د پازوالنې امستنې" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "هغه کاريالونه چې په نورو ټولېو کې نه راځي" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "نور" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "غورنۍ سمونګر" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "غورنۍ سمول" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr ":کاريالونه_" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "تلواله_" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr ":غورنۍ_" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "نوم" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "ښودل" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment" +msgstr "" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "غورنۍ دوتنه" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "غورنۍ_دوتنه" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "د غورنېو د بدلونونو لپاره ليدانی" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "د سرپاڼې دوتنې ناسم پېژند" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[ناسم دوتنه نوم]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <ايستل شوي>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== غورنۍ بدله شوه، بيا لېښل کيږي ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 +#: ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "غورنۍ ونه تشه ده" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "" + diff --git a/po/pt.po b/po/pt.po new file mode 100644 index 0000000..aa3d5f1 --- /dev/null +++ b/po/pt.po @@ -0,0 +1,282 @@ +# mate-menus' Portuguese translation. +# Copyright © 2004, 2005, 2006, 2007, 2009 mate-menus +# This file is distributed under the same license as the mate-menus package. +# Duarte Loreto <[email protected]>, 2004, 2005, 2006, 2007, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: 2.28\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-08-27 08:57+0100\n" +"PO-Revision-Date: 2009-08-27 09:00+0000\n" +"Last-Translator: Duarte Loreto <[email protected]>\n" +"Language-Team: Portuguese <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Menu de multimédia" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Som & Vídeo" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Desenvolvimento" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Ferramentas para o desenvolvimento de aplicações" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Educação" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Jogos" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Jogos e passatempos" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Gráficos" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Aplicações gráficas" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Equipamento" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Definições para vários dispositivos de equipamento" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet e Rede" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Definições relacionadas com a rede" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Aparência e Comportamento" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "" +"Definições que controlam a aparência e comportamento do ambiente de trabalho" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Aplicações para o acesso à Internet tais como web e email" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Produtividade" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Aplicações de Produtividade" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Pessoal" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Definições pessoais" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Administração" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Alterar definições de sistema (afecta todos os utilizadores)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Preferências pessoais" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Preferências" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Sistema" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Definições de sistema" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Ferramentas de Sistema" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Configuração de sistema e monitorização" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Acesso Universal" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Definições de Acesso Universal" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Acessórios" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Acessórios de área de trabalho" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Aplicações" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Preferências pessoais e definições de administração" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Aplicações que não se enquadravam em nenhuma outra categoria" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Outras" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Editor de Menus" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Editar os Menus" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Aplicações:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Omissões" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menus:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Editor de Menus %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Nome" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Apresentar" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Incapaz de encontrar o directório pessoal: não se encontra definido em /etc/" +"passwd e a variável de ambiente $HOME não possui nenhum valor" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Ficheiro de menu" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "FICHEIRO_MENU" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Monitor de alterações ao menu" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Incluir entradas <Exclude> (excluídas)" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Incluir entradas NoDisplay=true" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "ID de ficheiro de área de trabalho inválido" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Nome de ficheiro inválido]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded> (excluído)" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Menu alterado, a reler ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Árvore de menu está vazia" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "" +"- testar a implementação MATE da Especificação de Menu de Área de Trabalho" + +#~ msgid "Universal access related preferences" +#~ msgstr "Preferências relacionadas com o acesso universal" + +#~ msgid "Personal preferences and settings" +#~ msgstr "Preferências e definições pessoais" + +#~ msgid "Accessibility" +#~ msgstr "Acessibilidade" + +#~ msgid "Accessibility Settings" +#~ msgstr "Definições de Acessibilidade" + +#~ msgid "Desktop" +#~ msgstr "Área de Trabalho" diff --git a/po/pt_BR.po b/po/pt_BR.po new file mode 100644 index 0000000..fd4fc35 --- /dev/null +++ b/po/pt_BR.po @@ -0,0 +1,316 @@ +# Brazilian Portuguese translation of MATE Menus. +# Copyright (C) 2004-2008 the MATE Menu authors. +# This file is distributed under the same license as the mate-menus package. +# Raphael Higino <In Memoriam>, 2004-2005. +# Afonso Celso Medina <[email protected]>, 2005. +# Og Maciel <[email protected]>, 2006-2007. +# Leonardo Ferreira Fontenelle <[email protected]>, 2007, 2008. +# Fabrício Godoy <[email protected]>, 2008 +# Krix Apolinário <[email protected]>, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-" +"menus&component=general\n" +"POT-Creation-Date: 2009-08-04 16:15+0000\n" +"PO-Revision-Date: 2009-08-30 19:55-0300\n" +"Last-Translator: Krix Apolinário <[email protected]>\n" +"Language-Team: Brazilian Portuguese <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Menu multimídia" + +# Traduzir "Sound & Video" como "Multimídia" é o resultado de uma padronização +# do menu Aplicativos do MATE com os seus equivalentes no KDE e no XFCE. +# +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Multimídia" + +# Traduzir "Programming" como "Desenvolvimento" é o resultado de uma +# padronização do menu Aplicativos do MATE com os seus equivalentes +# em outros ambientes de trabalho, mais precisamente KDE e XFCE. +# +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Desenvolvimento" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Ferramentas para desenvolvimento de software" + +# Traduzir "Education" como "Educativo" é o resultado de uma padronização do +# menu Aplicativos do MATE com os seus equivalentes em outros ambientes de +# trabalho, mais precisamente KDE e XFCE. +# +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Educativo" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Jogos" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Jogos e diversões" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Gráficos" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Aplicativos gráficos" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Hardware" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Configurações para vários dispositivos de hardware" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet e rede" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Configurações de rede" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Visual e comportamento" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "" +"Configurações que controlam o visual e o comportamento da área de trabalho" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programas para acesso à Internet tais como web e e-mail" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Escritório" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Aplicativos de escritório" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Pessoal" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Configurações pessoais" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Administração" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "" +"Modifique configurações gerais do sistema (isso afeta a todos os usuários)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Preferências pessoais" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Preferências" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Sistema" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Configurações do sistema" + +# Essa alteração, Ferramentas do Sistema → Sistema, não foi discutida mas +# acredito que todos vão aprovar. Assim jogamos esse submenu para o fim da +# lista, facilitando para a maioria dos usuários o acesso aos aplicativos +# mais cotidianos. +# +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Sistema" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Configuração e monitoramento do sistema" + +# Traduzir "Universal Access" como "Acessibilidade" é o resultado de uma +# padronização do menu Aplicativos do MATE com os seus equivalentes +# em outros ambientes de trabalho, mais precisamente KDE e XFCE. +# +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Acessibilidade" + +# Traduzir "Universal Access" como "Acessibilidade" é o resultado de uma +# padronização do menu Aplicativos do MATE com os seus equivalentes +# em outros ambientes de trabalho, mais precisamente KDE e XFCE. +# +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Configurações de acessibilidade" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Acessórios" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Acessórios da área de trabalho" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Aplicativos" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Preferências pessoais e configurações de administração" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Aplicativos que não se encaixam em outras categorias" + +# Outros aplicativOs +# +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Outros" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Editor do Menu" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Editar menus" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Aplicativos:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Padrões" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menus:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Editor simples de menu %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Nome" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Mostrar" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Não foi possível localizar o diretório home: não está definido em /etc/" +"passwd e nenhum valor para $HOME nas variáveis de ambiente" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Arquivo de menu" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "ARQUIVO_DE_MENU" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Monitora alterações do menu" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Inclui entradas <Exclude>d" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Inclui entradas NoDisplay=true" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "ID do arquivo da área de trabalho inválido" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Nome de arquivo inválido]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Menu alterado, recarregando ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "A árvore do menu está vazia" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "" +"- testa a implementação MATE da Especificação de Menu da Área de Trabalho" + +#~ msgid "Universal access related preferences" +#~ msgstr "Preferências relativas ao acesso universal" + +#~ msgid "Personal preferences and settings" +#~ msgstr "Preferências e configurações pessoais" + +#~ msgid "Accessibility" +#~ msgstr "Acessibilidade" + +#~ msgid "Accessibility Settings" +#~ msgstr "Configurações de acessibilidade" + +#~ msgid "Desktop" +#~ msgstr "Área de Trabalho" diff --git a/po/ro.po b/po/ro.po new file mode 100644 index 0000000..08d02eb --- /dev/null +++ b/po/ro.po @@ -0,0 +1,269 @@ +# Romanian translation of mate-menus. +# Copyright (C) 2005-2008 Free Software Foundation, Inc. +# This file is distributed under the same license as the mate-menus package. +# Dan Damian <[email protected]>, 2005. +# Alexandru Szasz <[email protected]>, 2007. +# Adi Roiban <[email protected]>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-" +"menus&component=general\n" +"POT-Creation-Date: 2009-09-07 00:30+0000\n" +"PO-Revision-Date: 2009-09-16 16:01+0300\n" +"Last-Translator: Adi Roiban <[email protected]>\n" +"Language-Team: Romanian <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Meniu multimedia" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Multimedia" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programare" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Unelte pentru dezvoltare de software" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Educație" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Jocuri" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Jocuri și divertisment" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafică" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Aplicații pentru grafică" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Hardware" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Opțiuni hardware" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet și rețea" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Opțiuni de rețea" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Aspect și comportament" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Opțiuni privind aspectul și comportamentul desktopului" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programe pentru acessul la Internet (navigare, mail etc.)" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Birou" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Aplicații de birou" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Personal" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Opțiuni personale" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Administrare" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Configurarea sistemului (afectează toți utilizatorii)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Preferințe personale" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Preferințe" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Sistem" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Configurări de sistem" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Utilitare de sistem" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Configurare și monitorizare a sistemului" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Accesibilitate" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Opțiuni de accesibilitate" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Accesorii" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Accesorii pentru desktop" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Aplicații" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Preferințe personale și configurări administrative" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Aplicații ce nu se încadrează în alte categorii" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Diverse" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Editor meniu" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Editare meniuri" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Aplicații:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Opțiuni implicite" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Meniuri:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Editor simplu de meniu %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Nume" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Afișare" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Nu se găsește directorul „Acasă”: nu este setat în /etc/passwd și nu există " +"o valoare pentru variabila de mediu $HOME" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Fișier meniu" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Monitorizează schimbările din menu" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Include elementele cu eticheta <Exclude>" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Include intrările cu „NoDisplay=true”" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "ID de fișier desktop invalid" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Nume invalid de fișier]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <exclus>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Meniu schimbat, se reîncarcă ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Arborele de meniuri este gol" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- testare a implementării MATE pentru „Desktop Menu Specification”" + diff --git a/po/ru.po b/po/ru.po new file mode 100644 index 0000000..911134c --- /dev/null +++ b/po/ru.po @@ -0,0 +1,274 @@ +# translation of mate-menus to Russian +# Copyright (C) 1998-2003, 2005, 2006, 2007 Free Software Foundation, Inc. +# +# Dmitry G. Mastrukov <[email protected]>, 2004. +# Leonid Kanter <[email protected]>, 2005, 2007. +msgid "" +msgstr "" +"Project-Id-Version: mate-menus trunk\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-10-20 12:05+0300\n" +"PO-Revision-Date: 2009-10-13 14:26+0300\n" +"Last-Translator: Dmitry Yacenko <[email protected]>\n" +"Language-Team: Russian <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Мультимедиа" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Аудио и видео" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Программирование" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Средства для разработки программ" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Образовательные" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Игры" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Игры и развлечения" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Графика" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Графические приложения" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Оборудование" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Параметры нескольких аппаратных устройств" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Интернет и сеть" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Параметры, относящиеся к настройке сети" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Оформление" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Параметры, влияющие на внешний вид и поведение рабочего стола" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Интернет" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Программы для работы с Интернетом (почта, браузер и т.п.)" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Офис" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Офисные приложения" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Персональные" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Персональные параметры" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Администрирование" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Изменение системных установок (влияет на всех пользователей)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Персональные предпочтения" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Параметры" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Система" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Системные параметры" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Системные" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Средства конфигурации и мониторинга системы" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Специальные возможности" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Параметры специальных возможностей" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Стандартные" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Стандартные приложения" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Приложения" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Личные предпочтения и административные параметры" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Приложения, не подпадающие ни под какие категории" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Прочие" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Редактор меню" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Редактирование меню" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Приложения:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Исходный вид" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Меню:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Простой редактор меню %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Имя" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Отображать" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Не удается найти домашний каталог: не установлен ни в /etc/passwd, ни при " +"помощи переменной $HOME" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Файл меню" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Отслеживать изменения в меню" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Включать исключенные элементы" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Включать элементы NoDisplay=true" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Неверный ID desktop-файла" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[неверное имя файла]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Меню изменено, перегружается ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Дерево меню пусто" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "" +"- проверка реализации спецификации Desktop Menu, использованной в MATE" + +#~ msgid "Universal access related preferences" +#~ msgstr "Параметры, связанные со специальными возможностями" + +#~ msgid "Personal preferences and settings" +#~ msgstr "Персональные настройки и установки" diff --git a/po/rw.po b/po/rw.po new file mode 100644 index 0000000..8dc4d3b --- /dev/null +++ b/po/rw.po @@ -0,0 +1,150 @@ +# translation of mate-menus to Kinyarwanda. +# Copyright (C) 2005 Free Software Foundation, Inc. +# This file is distributed under the same license as the mate-menus package. +# Steve Murphy <[email protected]>, 2005 +# Steve performed initial rough translation from compendium built from translations provided by the following translators: +# Philibert Ndandali <[email protected]>, 2005. +# Viateur MUGENZI <[email protected]>, 2005. +# Noëlla Mupole <[email protected]>, 2005. +# Carole Karema <[email protected]>, 2005. +# JEAN BAPTISTE NGENDAHAYO <[email protected]>, 2005. +# Augustin KIBERWA <[email protected]>, 2005. +# Donatien NSENGIYUMVA <[email protected]>, 2005.. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus 2.12\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-03-31 17:36-0700\n" +"PO-Revision-Date: 2005-03-28 19:35-0700\n" +"Last-Translator: Steve Murphy <[email protected]>\n" +"Language-Team: Kinyarwanda <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# offmgr/source\offapp\dialog\treeopt.src:RID_OFADLG_OPTIONS_TREE_PAGES.SID_GENERAL_OPTIONS.13.text +#: desktop-directories/Accessibility.directory.in.h:1 +#: desktop-directories/Settings-Accessibility.directory.in.h:1 +msgid "Accessibility" +msgstr "Ubushobozi bwo gukoreshwa" + +#: desktop-directories/Accessibility.directory.in.h:2 +msgid "Accessibility Settings" +msgstr "" + +#: desktop-directories/Accessories.directory.in.h:1 +msgid "Accessories" +msgstr "" + +#: desktop-directories/Accessories.directory.in.h:2 +msgid "Desktop accessories" +msgstr "" + +#: desktop-directories/Applications.directory.in.h:1 +msgid "Applications" +msgstr "Porogaramu" + +#: desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "" + +#: desktop-directories/Development.directory.in.h:2 +#, fuzzy +msgid "Tools for software development" +msgstr "kugirango" + +#: desktop-directories/Edutainment.directory.in.h:1 +msgid "Edutainment" +msgstr "" + +#: desktop-directories/Games.directory.in.h:1 +msgid "Games" +msgstr "" + +#: desktop-directories/Games.directory.in.h:2 +#, fuzzy +msgid "Games and amusements" +msgstr "Na" + +#: desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Ibishushanyo" + +#: desktop-directories/Graphics.directory.in.h:2 +#, fuzzy +msgid "Graphics applications" +msgstr "Porogaramu" + +# officecfg/registry\schema\org\openoffice\Office\Common.xcs:....Save.URL.Internet.text +#: desktop-directories/Internet.directory.in.h:1 +msgid "Internet" +msgstr "Interineti" + +#: desktop-directories/Internet.directory.in.h:2 +#, fuzzy +msgid "Programs for Internet access such as web and email" +msgstr "kugirango Nka Urubuga Na imeli" + +#: desktop-directories/Multimedia.directory.in.h:1 +#, fuzzy +msgid "Multimedia menu" +msgstr "Ibikubiyemo" + +#: desktop-directories/Multimedia.directory.in.h:2 +msgid "Sound & Video" +msgstr "" + +# svx/source\gallery2\galtheme.src:RID_GALLERYSTR_THEME_OFFICE.text +#: desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Ofise" + +#: desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "" + +#: desktop-directories/Other.directory.in.h:1 +#, fuzzy +msgid "Applications that did not fit in other categories" +msgstr "OYA in Ikindi Ibyiciro" + +# framework/source\classes\fltdlg.src:STR_FILTER_OTHERS.text +#: desktop-directories/Other.directory.in.h:2 +msgid "Other" +msgstr "Ikindi" + +#: desktop-directories/Settings-Accessibility.directory.in.h:2 +#, fuzzy +msgid "Accessibility related preferences" +msgstr "Ibyahiswemo" + +#: desktop-directories/Settings.directory.in.h:1 +#, fuzzy +msgid "Personal preferences and settings" +msgstr "Ibyahiswemo Na Amagenamiterere" + +# extracted from content/PrefsWindow.xul +# LOCALIZATION NOTE : FILE UI for the outer parts of the Prefs dialog +#: desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Ibyahisemo" + +# 89 +#: desktop-directories/System-Settings.directory.in.h:1 +msgid "Administration" +msgstr "ubuyobozi" + +#: desktop-directories/System-Settings.directory.in.h:2 +#, fuzzy +msgid "Change systemwide settings (affects all users)" +msgstr "Amagenamiterere Byose" + +#: desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "" + +#: desktop-directories/System-Tools.directory.in.h:2 +#, fuzzy +msgid "System configuration and monitoring" +msgstr "Iboneza Na" diff --git a/po/si.po b/po/si.po new file mode 100644 index 0000000..f60045a --- /dev/null +++ b/po/si.po @@ -0,0 +1,271 @@ +# translation of mate-menus.po to Sinhala +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Danishka Navin <[email protected]>, 2007. +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-29 03:37+0100\n" +"PO-Revision-Date: 2007-06-20 16:27+0530\n" +"Last-Translator: Danishka Navin <[email protected]>\n" +"Language-Team: Sinhala <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../desktop-directories/Accessibility.directory.in.h:1 +#: ../desktop-directories/Settings-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "විශ්ව පිවිසුම" + +#: ../desktop-directories/Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "විශ්ව පිවිසුම් සැකසුම්" + +#: ../desktop-directories/Accessories.directory.in.h:1 +msgid "Accessories" +msgstr "උපාංග" + +#: ../desktop-directories/Accessories.directory.in.h:2 +msgid "Desktop accessories" +msgstr "මූලික තිරය උපාංග" + +#: ../desktop-directories/Applications.directory.in.h:1 +msgid "Applications" +msgstr "යෙදුම්" + +#: ../desktop-directories/Desktop.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "පුත්ගලික අභිප්රේත සහ පාලන සැකසුම්" + +#: ../desktop-directories/Desktop.directory.in.h:2 +#: ../desktop-directories/System.directory.in.h:1 +msgid "System" +msgstr "පද්දති" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "කේතරචනය" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "මෘදුකාංග සංවර්ධන මෙවලම්" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "අධ්යාපනිකපනික" + +#: ../desktop-directories/Games.directory.in.h:1 +msgid "Games" +msgstr "ක්රිඩා" + +#: ../desktop-directories/Games.directory.in.h:2 +msgid "Games and amusements" +msgstr "ක්රිඩා සහ විනොදාශ්වාද" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "චිත්ර" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "චිත්රක යෙදුම්" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "දෘඩාංග" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "විවිධ දෘඩාංග උපාංග සදහා සැකසුම්" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "අන්තර්ජාලය සහ ජාලය" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "ජාලය සම්බන්ද සැකසුම්" + +#: ../desktop-directories/Internet.directory.in.h:1 +msgid "Internet" +msgstr "අන්තර්ජාලය" + +#: ../desktop-directories/Internet.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "අන්තර්ජාලය පිවිසුමට වියුණු සහ ඉලෙක්ට්රොනික තැපෑල වැනි කේතයන්" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "පෙනුම සහ දැනිම" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "මුලිකතිතයෙ පෙනුම සහ ක්රියාකාරිත්වය පාලනය කරන්නාවු සැකසුම්්" + +#: ../desktop-directories/Multimedia.directory.in.h:1 +msgid "Multimedia menu" +msgstr "බහුමාද්ය මෙනුව" + +#: ../desktop-directories/Multimedia.directory.in.h:2 +msgid "Sound & Video" +msgstr "ශබ්ද සහ දෘශ්ය" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "කාර්යයාලීය" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "කාර්යාලිය යෙදුම්" + +#: ../desktop-directories/Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "වෙනත් ප්රභේද වලට අයත් නොවු යෙදුම්" + +#: ../desktop-directories/Other.directory.in.h:2 +msgid "Other" +msgstr "වෙනත්" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "පුද්ගලික" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "පුද්ගලික සැකසුම්" + +#: ../desktop-directories/Preferences.directory.in.h:1 +msgid "Personal preferences" +msgstr "පුද්ගලික අභිප්රේත" + +#: ../desktop-directories/Preferences.directory.in.h:2 +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "අභිප්රේත" + +#: ../desktop-directories/Settings-Accessibility.directory.in.h:2 +msgid "Universal access related preferences" +msgstr "විශ්ව පිවිසුම් හා සබැදි අභිප්රේත" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences and settings" +msgstr "පුද්ගලික අභිප්රේත සහ සැකසුම්" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "පද්දති සැකසුම්" + +#: ../desktop-directories/System-Settings.directory.in.h:1 +msgid "Administration" +msgstr "පරිපාලනය" + +#: ../desktop-directories/System-Settings.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "පද්ධති පුරා සැකසුම් වෙනස් කරන්න (සියළුම පරිශීලකයන්ට බලපානු ඇත)" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "පද්දති මෙවලම්" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "පද්දති සුසර කිරිම සහ නිරික්ෂණය" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "මෙනු සංස්කරණය" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "මෙනු වෙනස්කරන්න" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "යෙදුම්: (_A)" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "සාමාන්ය (_D)" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "මෙනු: (_M)" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123 +msgid "Name" +msgstr "නම" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115 +msgid "Show" +msgstr "පෙන්වීම" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"හොම් ඩිරෙක්ටරිය සොයාගත නොහැක: /etc/passwd සකසා නැති අතර පරිසරයෙ $HOME " +"සදහා අගයක් නැත" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "මෙනු ගොනුව" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "මෙනු වෙනස්කම් සඳහා නිරික්ෂණය" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "<Exclude>ඇතුලත් කිරිම් අඩංගුව ඇත" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "NoDisplay=true ඇතුලත් කිරිම් අඩංගුව ඇත" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "සාවද්ය මූලික තිරයෙ ගොනු අංකය" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[සාවද්ය ගොනු නම]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== මෙනුව වෙනස්විය, රිලොඩ් වෙමින් පවතියි ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "ම්නුව අන්තර්ගතය හිස්" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- MATE හි මූලික තිරයෙ මෙනුවෙ ග විශේෂ ක්රියාවෙහි යෙදවිම පරික්ෂාකරනය" + diff --git a/po/sk.po b/po/sk.po new file mode 100644 index 0000000..60f233a --- /dev/null +++ b/po/sk.po @@ -0,0 +1,213 @@ +# Slovak translation for mate-menus. +# Copyright (C) 2004, 2005, 2007, 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the mate-menus package. +# Marcel Telka <[email protected]>, 2004, 2005. +# Peter Tuharsky <[email protected]>, 2007. +# Pavol Klačanský <[email protected]>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-" +"menus&component=general\n" +"POT-Creation-Date: 2010-02-22 19:18+0000\n" +"PO-Revision-Date: 2010-02-09 18:14+0100\n" +"Last-Translator: Pavol Klačanský <[email protected]>\n" +"Language-Team: Slovak <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Ponuka multimédií" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Zvuk a video" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programovanie" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Nástroje pre vývoj softvéru" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Vzdelávanie" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Hry" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Hry a zábava" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafika" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Grafické aplikácie" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Hardvér" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Nastavenia pre niektoré hardvérové zariadenia" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet a sieť" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Nastavenia súvisiace so sieťou" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Vzhľad a dojem" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Nastavenia ovládajúce vzhľad a správanie pracovnej plochy" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programy pre prístup k internetu, ako je www a e-mail" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Kancelária" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Kancelárske aplikácie" + +#. Translators: this is Personal as in "Personal settings" +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal" +msgstr "Osobné" + +#: ../desktop-directories/Personal.directory.in.h:3 +msgid "Personal settings" +msgstr "Osobné nastavenia" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Správa" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Zmeniť nastavenia pre celý systém (ovplyvní všetkých používateľov)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Osobné predvoľby" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Predvoľby" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Systém" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Systémové nastavenia" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Systémové nástroje" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Systémová konfigurácia a sledovanie" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Univerzálny prístup" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Nastavenia univerzálneho prístupu" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Príslušenstvo" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Príslušenstvo pracovnej plochy" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Aplikácie" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Osobné predvoľby a správcovské nastavenia" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Aplikácie, ktoré nezapadajú do ostatných kategórií" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Ostatné" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Editor ponúk" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Upraviť ponuky" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Aplikácie:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Predvolené" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Ponuky:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Jednoduchý editor ponúk %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Názov" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Zobraziť" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Nepodarilo sa nájsť domovský priečinok: nie je nastavený v /etc/passwd a nie " +"je nastavená hodnota $HOME v prostredí" diff --git a/po/sl.po b/po/sl.po new file mode 100644 index 0000000..0b98686 --- /dev/null +++ b/po/sl.po @@ -0,0 +1,274 @@ +# Slovenian translation for mate-menues.
+# Copyright (C) 2005-2007 Free Software Foundation, Inc.
+# This file is distributed under the same license as the program package.
+#
+# Matic Žgur <[email protected]>, 2006.
+# Matej Urbančič <[email protected]>, 2005 - 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n"
+"POT-Creation-Date: 2009-07-29 23:45+0000\n"
+"PO-Revision-Date: 2010-05-21 22:19+0100\n"
+"Last-Translator: Matej Urbančič <[email protected]>\n"
+"Language-Team: Slovenian MATE Translation Team <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n"
+"X-Poedit-Language: Slovenian\n"
+"X-Poedit-Country: SLOVENIA\n"
+"X-Poedit-SourceCharset: utf-8\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Večpredstavnostni meni"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Zvok in video"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programiranje"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Orodja za razvoj programske opreme"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Izobraževanje"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Igre"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Igre in zabava"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafika"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Grafični programi"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Strojna oprema"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Nastavitve več strojnih naprav"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Splet in omrežje"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Nastavitve omrežja"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Videz in občutek"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Nastavitve videza in obnašanja namizja"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Splet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programi za dostop do spleta, kot sta brskalnik in elektronska pošta"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Pisarna"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Pisarniški programi"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Osebno"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Osebne nastavitve"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Skrbništvo"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Spremeni sistemske nastavitve (za vse uporabnike)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Osebne možnosti"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Možnosti"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Sistem"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Sistemske nastavitve"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Sistemska orodja"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Nastavitve in nadziranje sistema"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Splošni dostop"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Splošne nastavitve dostopa"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Pripomočki"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Namizni pripomočki"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Programi"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Osebne možnosti in skrbniške nastavitve"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Programi, ki ne sodijo v druge kategorije"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Ostalo"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Urejevalnik menijev"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Uredi menije"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Programi:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Privzeto"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Meniji:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Enostavni urejevalnik menijev %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Ime"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Pokaži"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment"
+msgstr "Ni mogoče najti domače mape: ni določila v /etc/passwd in ni vrednosti spremenljivke $HOME"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Datoteka menija"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Spremljaj spremembe menija"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Vključi <izločene> vnose"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Vključi vnose NoDisplay=true"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Neveljaven ID datoteke namizja"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Nepravilno ime datoteke]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <izločeno>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Meni je spremenjen; ponovno bo naložen ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169
+#: ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Drevesna zgradba menija je prazna"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- preizkus MATE orodja za določanje namiznega menija"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Splošne možnosti dostopa"
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Osebne možnosti in nastavitve"
+
diff --git a/po/sq.po b/po/sq.po new file mode 100644 index 0000000..ea6bb14 --- /dev/null +++ b/po/sq.po @@ -0,0 +1,278 @@ +# Përkthimi i mesazheve të mate-menus në shqip +# Copyright (C) 2005 THE mate-menus'S COPYRIGHT HOLDER +# This file is distributed under the same license as the mate-menus package. +# Elian Myftiu <[email protected]>, 2005-2007. +# Laurent Dhima <[email protected]>, 2008. +msgid "" +msgstr "" +"Project-Id-Version: mate-menus mate-2-22\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-03-21 11:37+0100\n" +"PO-Revision-Date: 2008-07-15 19:21+0200\n" +"Last-Translator: Laurent Dhima <[email protected]>\n" +"Language-Team: albanian <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../desktop-directories/Accessibility.directory.in.h:1 +#: ../desktop-directories/Settings-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Hyrje universale" + +#: ../desktop-directories/Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Rregullimet për hyrjen universale" + +#: ../desktop-directories/Accessories.directory.in.h:1 +msgid "Accessories" +msgstr "Aksesorë" + +#: ../desktop-directories/Accessories.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Aksesorë hapësire pune" + +#: ../desktop-directories/Applications.directory.in.h:1 +msgid "Applications" +msgstr "Programe" + +#: ../desktop-directories/Desktop.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Preferimet vetjake dhe rregullimet administrative" + +#: ../desktop-directories/Desktop.directory.in.h:2 +#: ../desktop-directories/System.directory.in.h:1 +msgid "System" +msgstr "Sistemi" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programim" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Vegla për zhvillim programesh" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Edukim" + +#: ../desktop-directories/Games.directory.in.h:1 +msgid "Games" +msgstr "Lojra" + +#: ../desktop-directories/Games.directory.in.h:2 +msgid "Games and amusements" +msgstr "Lojra dhe argëtime" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafikë" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Programe grafiku" + +# (pofilter) unchanged: please translate +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Hardware" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Rregullime për dispozitivë të ndryshëm" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet dhe Rrjet" + +# (pofilter) simplecaps: checks the capitalisation of two strings isn't wildly different +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Rregullime lidhur me Rrjetin" + +# (pofilter) unchanged: please translate +#: ../desktop-directories/Internet.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +# (pofilter) brackets: translation has extra '(', ')' +#: ../desktop-directories/Internet.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programe për hyrje në Internet (si p.sh. rrjeti dhe posta elektronike)" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Pamje dhe Ndjesi" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Rregullime që kontrollojnë pamjen e hapësirës së punës dhe sjelljen" + +#: ../desktop-directories/Multimedia.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Menu multimediale" + +#: ../desktop-directories/Multimedia.directory.in.h:2 +msgid "Sound & Video" +msgstr "Zë & Video" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Zyrë" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Programe Zyre" + +#: ../desktop-directories/Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Programe që nuk gjejnë vend në kategori të tjera" + +#: ../desktop-directories/Other.directory.in.h:2 +msgid "Other" +msgstr "Tjetër" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Vetjake" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Rregullime vetjake" + +#: ../desktop-directories/Preferences.directory.in.h:1 +msgid "Personal preferences" +msgstr "Preferime vetjake" + +#: ../desktop-directories/Preferences.directory.in.h:2 +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Preferime" + +#: ../desktop-directories/Settings-Accessibility.directory.in.h:2 +msgid "Universal access related preferences" +msgstr "Preferime në lidhje me hyrjen universale" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences and settings" +msgstr "Preferime dhe rregullime vetjake" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Rregullime sistemi" + +#: ../desktop-directories/System-Settings.directory.in.h:1 +msgid "Administration" +msgstr "Administrim" + +#: ../desktop-directories/System-Settings.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Ndrysho rregullimet në rang sistemi (ndikon tek të gjithë përdoruesit)" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Vegla Sistemi" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Konfigurim dhe vëzhgim sistemi" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Ndryshues Menuje" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "Ndrysho Menutë" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "_Programe:" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "_Parazgjedhur" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "_Menutë:" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Emri" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Shfaq" + +# (pofilter) filepaths: checks that file paths have not been translated +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"E pamundur gjetja e kartelës shtëpi. e pacaktuar në /etc/password dhe asnjë " +"vlerë për $HOME në mjedis" + +# (pofilter) simplecaps: checks the capitalisation of two strings isn't wildly different +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "File Menuje" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Vëzhgues ndryshuesi menuje" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Përfshi <Exclude>d zërat" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Përfshi zërat NoDisplay=true" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "ID file hapësire pune i pavlefshëm" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Emër i pavlefshëm file]" + +# (pofilter) unchanged: please translate +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"=== Menuja ndryshoi, duke ringarkuar ===\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Pema e menusë është bosh" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- provo implementimin e Specifikimit të Menuve MATE" + diff --git a/po/sr.po b/po/sr.po new file mode 100644 index 0000000..9dc8619 --- /dev/null +++ b/po/sr.po @@ -0,0 +1,287 @@ +# Serbian translation of mate-menus +# Courtesy of Prevod.org team (http://prevod.org/) -- 2004 - 2009. +# +# This file is distributed under the same license as the mate-menus package. +# +# Maintainer: Данило Шеган <[email protected]> +# Reviewed on 2005-09-03 by: Данило Шеган <[email protected]>" +# Transalted on 2006-01-31 by: Слободан Д. Средојевић <[email protected]> +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-" +"menus&component=general\n" +"POT-Creation-Date: 2009-06-21 17:35+0000\n" +"PO-Revision-Date: 2007-09-12 01:22+0200\n" +"Last-Translator: Горан Ракић <[email protected]>\n" +"Language-Team: Serbian (sr) <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Мени за мултимедију" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Звук и покретне слике" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Програмирање" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Алатке за развој софтвера" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Образовање" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Игре" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Игре и забава" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Графика" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Графички програми" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Уређаји" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Подешавања за неке уређаје" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Интернет и мрежа" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Мрежна подешавања" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Изглед и понашање" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Подешавање изгледа и понашања радног окружења" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Интернет" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Програми за приступ Интернету као што је веб и е-пошта" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Канцеларија" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Програми за канцеларију" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Лично" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Лична подешавања" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Администрација" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Промените системска подешавања (утиче на све кориснике)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Личне поставке" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Поставке" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Систем" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Подешавања система" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Системске алатке" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Подешавање и праћење система" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Универзални приступ" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Подешавања универзалног приступа" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Алатке" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Алатке окружења" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Програми" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Личне поставке и администраторска подешавања" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Програми који не припадају осталим категоријама" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Остало" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Уређивач менија" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Уреди меније" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Програми:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "По_дразумевани" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Менији:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +#| msgid "Menu Editor" +msgid "Simple Menu Editor %s" +msgstr "Уређивач менија %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Назив" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Прикажи" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Не могу да нађем лични директоријум: није постављен у /etc/passwd а нема ни " +"вредности $HOME у окружењу" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Датотека менија" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "ДАТОТЕКА_МЕНИЈА" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Прати измене менија" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Укључи изузете ставке" + +# bug(slobo): може ли боље? +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Укључи ставке које не треба да се виде" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Неисправан ИБ .desktop датотеке" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Неисправно име датотеке]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <искључена>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Мени је измењен, поновно учитавање је у току ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Стабло менија је празно" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "— испробава Гномову изведбу Спецификације за меније окружења" + +#~ msgid "Universal access related preferences" +#~ msgstr "Поставке у вези универзалног приступа" + +#~ msgid "Personal preferences and settings" +#~ msgstr "Личне поставке и подешавања" + +#~ msgid "Accessibility" +#~ msgstr "Приступачност" + +#~ msgid "Accessibility Settings" +#~ msgstr "Подешавања приступачности" + +#~ msgid "Desktop" +#~ msgstr "Окружење" diff --git a/po/[email protected] b/po/[email protected] new file mode 100644 index 0000000..6410c3b --- /dev/null +++ b/po/[email protected] @@ -0,0 +1,287 @@ +# Serbian translation of mate-menus +# Courtesy of Prevod.org team (http://prevod.org/) -- 2004 - 2009. +# +# This file is distributed under the same license as the mate-menus package. +# +# Maintainer: Danilo Šegan <[email protected]> +# Reviewed on 2005-09-03 by: Danilo Šegan <[email protected]>" +# Transalted on 2006-01-31 by: Slobodan D. Sredojević <[email protected]> +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-" +"menus&component=general\n" +"POT-Creation-Date: 2009-06-21 17:35+0000\n" +"PO-Revision-Date: 2007-09-12 01:22+0200\n" +"Last-Translator: Goran Rakić <[email protected]>\n" +"Language-Team: Serbian (sr) <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Meni za multimediju" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Zvuk i pokretne slike" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programiranje" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Alatke za razvoj softvera" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Obrazovanje" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Igre" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Igre i zabava" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafika" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Grafički programi" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Uređaji" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Podešavanja za neke uređaje" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet i mreža" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Mrežna podešavanja" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Izgled i ponašanje" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Podešavanje izgleda i ponašanja radnog okruženja" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Programi za pristup Internetu kao što je veb i e-pošta" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Kancelarija" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Programi za kancelariju" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Lično" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Lična podešavanja" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Administracija" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Promenite sistemska podešavanja (utiče na sve korisnike)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Lične postavke" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Postavke" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Sistem" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Podešavanja sistema" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Sistemske alatke" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Podešavanje i praćenje sistema" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Univerzalni pristup" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Podešavanja univerzalnog pristupa" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Alatke" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Alatke okruženja" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Programi" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Lične postavke i administratorska podešavanja" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Programi koji ne pripadaju ostalim kategorijama" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Ostalo" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Uređivač menija" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Uredi menije" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Programi:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "Po_drazumevani" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Meniji:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +#| msgid "Menu Editor" +msgid "Simple Menu Editor %s" +msgstr "Uređivač menija %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Naziv" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Prikaži" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Ne mogu da nađem lični direktorijum: nije postavljen u /etc/passwd a nema ni " +"vrednosti $HOME u okruženju" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Datoteka menija" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "DATOTEKA_MENIJA" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Prati izmene menija" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Uključi izuzete stavke" + +# bug(slobo): može li bolje? +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Uključi stavke koje ne treba da se vide" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Neispravan IB .desktop datoteke" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Neispravno ime datoteke]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <isključena>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Meni je izmenjen, ponovno učitavanje je u toku ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Stablo menija je prazno" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "— isprobava Gnomovu izvedbu Specifikacije za menije okruženja" + +#~ msgid "Universal access related preferences" +#~ msgstr "Postavke u vezi univerzalnog pristupa" + +#~ msgid "Personal preferences and settings" +#~ msgstr "Lične postavke i podešavanja" + +#~ msgid "Accessibility" +#~ msgstr "Pristupačnost" + +#~ msgid "Accessibility Settings" +#~ msgstr "Podešavanja pristupačnosti" + +#~ msgid "Desktop" +#~ msgstr "Okruženje" diff --git a/po/sv.po b/po/sv.po new file mode 100644 index 0000000..de29577 --- /dev/null +++ b/po/sv.po @@ -0,0 +1,310 @@ +# Swedish messages for mate-menus. +# Copyright (C) 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc. +# Christian Rose <[email protected]>, 2004, 2005, 2006. +# Daniel Nylander <[email protected]>, 2007, 2009. +# +# $Id: sv.po,v 1.7 2006/01/08 20:42:48 menthos Exp $ +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-19 10:25+0200\n" +"PO-Revision-Date: 2009-09-19 10:25+0100\n" +"Last-Translator: Daniel Nylander <[email protected]>\n" +"Language-Team: Swedish <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Multimediameny" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Ljud och video" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programmering" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Verktyg för programutveckling" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Utbildning" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Spel" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Spel och underhållning" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafik" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Grafikprogram" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Hårdvara" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Inställningar för ett flertal hårdvaruenheter" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet och nätverk" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Nätverksrelaterade inställningar" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Utseende och beteende" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Inställningar som styr skrivbordets utseende och beteende" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Internet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Program för internetåtkomst som till exempel webb och e-post" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Kontor" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Kontorsprogram" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Personligt" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Personliga inställningar" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Administration" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Ändra inställningar för hela systemet (påverkar alla användare)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Personliga inställningar" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Inställningar" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "System" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Systeminställningar" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Systemverktyg" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Systemkonfiguration och systemövervakning" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Allmän åtkomst" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Inställningar för allmän åtkomst" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Tillbehör" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Skrivbordstillbehör" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Program" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Personliga inställningar och administrationsinställningar" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Program som inte passar in i någon annan kategori" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Övrigt" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Menyredigerare" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Redigera menyer" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Program:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Standardalternativ" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menyer:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Enkel menyredigerare %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Namn" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Visa" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment" +msgstr "Kan inte hitta hemkatalogen: inte angiven i /etc/passwd och inget värde för $HOME i miljön" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Menyfil" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENYFIL" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Övervaka menyändringar" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Inkludera exkluderade poster" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Inkludera poster med NoDisplay=true" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Ogiltigt id på desktop-fil" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Ogiltigt filnamn]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <exkluderad>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Menyn ändrad, läser om ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 +#: ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Menyträdet är tomt" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- testa MATE:s implementation av specifikationen för skrivbordsmenyer" + +#~ msgid "Universal access related preferences" +#~ msgstr "Inställningar relaterade till allmän åtkomst" +#~ msgid "Personal preferences and settings" +#~ msgstr "Personliga inställningar" +#~ msgid "Accessibility" +#~ msgstr "Tillgänglighet" +#~ msgid "Accessibility Settings" +#~ msgstr "Tillgänglighetsinställningar" +#~ msgid "Desktop" +#~ msgstr "Skrivbord" +#~ msgid "Personal Preferences" +#~ msgstr "Personliga inställningar" +#~ msgid "Applications:" +#~ msgstr "Program" +#~ msgid "Invalid Filename" +#~ msgstr "Ogiltigt filnamn" +#~ msgid "<excluded>" +#~ msgstr "<exkluderad>" +#~ msgid "excluded" +#~ msgstr "exkluderad" +#~ msgid "Excluded" +#~ msgstr "Exkluderad" +#~ msgid "==== Menu changed, reloading ====" +#~ msgstr "==== Menyn ändrad, läser om ====" +#~ msgid "Menu changed, reloading" +#~ msgstr "Menyn ändrad, läser om" +#~ msgid "test MATE's implementation of the Desktop Menu Specification" +#~ msgstr "testa MATEs implementation av specifikationen för skrivbordsmenyer" +#~ msgid "Test MATE's implementation of the Desktop Menu Specification" +#~ msgstr "Testa MATEs implementation av specifikationen för skrivbordsmenyer" +#~ msgid "Desktop Accessories" +#~ msgstr "Skrivbordstillbehör" +#~ msgid "Software development" +#~ msgstr "Programutveckling" +#~ msgid "Software Development" +#~ msgstr "Programutveckling" +#~ msgid "Games and Amusements" +#~ msgstr "Spel och underhållning" +#~ msgid "Graphics Applications" +#~ msgstr "Grafikprogram" +#~ msgid "Multimedia" +#~ msgstr "Multimedia" +#~ msgid "Office applications" +#~ msgstr "Kontorsprogram" + diff --git a/po/ta.po b/po/ta.po new file mode 100644 index 0000000..3414d33 --- /dev/null +++ b/po/ta.po @@ -0,0 +1,276 @@ +# translation of mate-menus.HEAD.po to TAMIL +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# Shakthi Kannan <[email protected]>, 2006. +# Jayaradha N <[email protected]>, 2006. +# Dr.T.Vasudevan <[email protected]>, 2007, 2009. +msgid "" +msgstr "" +"Project-Id-Version: mate-menus.HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-07-29 12:11+0530\n" +"PO-Revision-Date: 2009-07-29 12:12+0530\n" +"Last-Translator: Dr.T.Vasudevan <[email protected]>\n" +"Language-Team: Tamil <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"\n" +"\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "பல்முனை ஊடகப் பட்டியல்" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "ஒலி மற்றும் படக்காட்சி" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "நிரலாக்கம்" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "மென்பொருள் உற்பத்திக்கான கருவிகள்" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "கல்வி" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "விளையாட்டுகள்" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "விளையாட்டுகள் மற்றும் பொழுதுப்போக்குகள்" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "வரைகலை" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "வரைகலை பயன்பாடுகள்" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "வண் பொருட்கள்" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "பல வண் பொருட்களுக்கான அமைப்புகள்" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "இணையம் மற்றும் வலையமைப்பு" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "வலையமைப்பு சார்ந்த வடிவமைப்புகள்" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "பார்வையும் உணர்வும்" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "மேல்மேசையின் தோற்றம் மற்றும் நடத்தைகளை கட்டுப்படுத்தும் வடிவமைப்பு" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "இணையம்" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "வலைப்பின்னல் மற்றும் மின்னஞ்சல் போன்ற இணைய அணுகலுக்கான நிரல்கள் " + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "அலுவலகம்" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "அலுவலகப் பயன்பாடுகள்" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "தனிப்பயன்" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "தனிப்பயன் அமைப்புகள்" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "நிர்வாகம்" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "கணிப்பொறியின் அனைத்து அமைப்புகளை மாற்றுக (பயன்படுத்துவோர் அனைவரையும் பாதிக்கும்)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "தனிப்பயன் விருப்பங்கள்" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "விருப்பங்கள்" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "கணிப்பொறி" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "கணினி அமைப்புகள்" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "கணிப்பொறிக் கருவிகள்" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "கணிப்பொறி அமைப்பு மற்றும் கண்காணித்தல்" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "உலகளாவிய அணுகல்" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "உலகளாவிய அணுகல் அமைப்புகள்" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "துணைப்பொருள்கள்" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "மேஜை துணைப்பொருள்கள்" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "பயன்பாடுகள்" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "தனிநபர் விருப்பங்கள் மற்றும் நிர்வாக அமைப்புகள்" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "இதர இனங்களில் பொருந்தாத பயன்பாடுகள்" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "மற்றவை" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "பட்டியல் திருத்தி" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "பட்டியலைத் திருத்த" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "பயன்பாடுகள்(_A):" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "முன்னிருப்பு மதிப்புகள்(_D)" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "பட்டியல்கள்(_M)" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49, python-format +msgid "Simple Menu Editor %s" +msgstr "எளிய பட்டியல் திருத்தி %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "பெயர்" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "காட்டு" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"இல்ல அடைவு காண முடியவில்லை: /etc/passwd-ல் அமைக்கப்படவில்லை, மற்றும் சுற்றுச்சூழலில் " +"$HOME மதிப்பு ஏதும் அமைக்கப்படவில்லை" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "பட்டியல் கோப்பு" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "பட்டியல் மாற்றங்களுக்கான கண்காணிப்பு" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "<Exclude>d என்ற உள்ளீடுகளை சேர்க்க" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "NoDisplay=true உள்ளீடுகளை சேர்க்க" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "செல்லுபடியாகாத மேஜைக் கோப்பு ஐடி" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[செல்லுபடியாகாத கோப்புப் பெயர்]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <சேர்க்காதவை>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"=== பட்டியல் மாற்றப்பட்டுள்ளது, மீண்டும் ஏற்றப்படுகிறது ===\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "பட்டியல் தூண் காலியாக உள்ளது" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- கணோம் உடைய மேஜைப் பட்டியல் விவரக்குறிப்பின் கணோம் செயல்பாட்டைப் பரிசோதிக்கவும்" + +#~ msgid "Universal access related preferences" +#~ msgstr "உலகளாவிய அணுகல் சார்ந்த விருப்பங்கள்" + +#~ msgid "Personal preferences and settings" +#~ msgstr "தனிநபர் விருப்பங்கள் மற்றும் அமைப்புகள்" diff --git a/po/te.po b/po/te.po new file mode 100644 index 0000000..2317ba9 --- /dev/null +++ b/po/te.po @@ -0,0 +1,270 @@ +# translation of mate-menus.master.te.po to Telugu +# Telugu translation of mate-menus +# Copyright (C) 2005,2007 Free Software Foundation, Andhra Pradesh +# This file is distributed under the same license as the mate-menus package. +# +# Y.Kiran Chandra <[email protected]>, 2005. +# Bharat Kumar <[email protected]>, 2007. +# Krishna Babu K <[email protected]>, 2009. +msgid "" +msgstr "" +"Project-Id-Version: mate-menus.master.te\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n" +"POT-Creation-Date: 2009-06-21 17:35+0000\n" +"PO-Revision-Date: 2009-09-17 15:12+0530\n" +"Last-Translator: Krishna Babu K <[email protected]>\n" +"Language-Team: Telugu <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "బహుళమాధ్యమాల జాబితా" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "ధ్వని మరియు ద్రుశ్యం" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "కార్య రూపకరణ" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "కార్యరూపకాలని తయారు చేయుటకు పనిముట్లు" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "విద్య" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "ఆటలు" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "ఆటలు మరియు వినోదకాలు" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "చిత్ర రూపాలు" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "చిత్రరూప కార్యక్షేత్రాలు" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "హార్డ వేర్" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "హార్డ వేర్ పరికరాలకి అమరికలు" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "ఇంటర్నెట్ మరియు నెట్వర్క్" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "నెట్వర్క్ బంధిత అమరికలు" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "రూపు రేఖలు" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "రంగస్థల రూపం మరియు ప్రవర్తనను నియంత్రణ చేయు అమరికలు" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "మహాతలం" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "ఇంటర్నెట్ తో సాంగత్యం ఏర్పరుచు కార్యక్రమాలు" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "కార్యాలయం" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "కార్యాలయపు కార్యక్షేత్రాలు" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "వ్యక్తిగత" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "వ్యక్తిగత అమరికలు" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "నిర్వహణ" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "వ్యవస్థకు సంబందించిన అన్ని అమరికలను మార్చు (ఈ మార్పులు అందరు వినియోగ దారులకు వమర్చబడతయి)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "వ్యక్తిగత అభీష్టాలు" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "అభీష్టాలు" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "వ్యవస్థ పనిముట్లు " + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "వ్యవస్థ యొక్క అమరికలు" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "వ్యవస్థ పనిముట్లు" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "వ్యవస్థ రూపకరణ మరియు తనిఖీ" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "విశ్వాంతర సాంగత్యం" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "విశ్వాంతర సాంగత్య అమరికలు " + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "సహాయకాలు" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "రంగస్థల సహాయకాలు" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "కార్యక్షేత్రాలు" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "వ్యక్తిగత అభీష్టాలు మరియు " + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "ఇతర విభాగాలలో ఇమడని కార్యక్షేత్రాలు" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "ఇతర" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "జాబితాను సరిచేయునది" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "జాబితాలను సరిచేయు" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "అనువర్తనములు (_A)" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "అప్రమేయాలు (_D)" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "జాబితాలు (_M)" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +#| msgid "Menu Editor" +msgid "Simple Menu Editor %s" +msgstr "సాధారణ మెనూ సరికూర్పరి %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "నామం" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "చూపు" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "నివాస వివరం ను కనిపెట్టలేదు" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "జాబితా దస్త్రము" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "జాబితా దస్త్రము (_F)" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "జాబితాలోని మార్పుల తనిఖీ " + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "d నమోదులను చేర్చు<మినహాయించు>" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "NoDisplay=true·నమోదులను చే" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "నిస్సారమైన రంగస్థల దస్త్ర గుర్తింపు చిహ్నం" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[నిస్సారమైన దస్త్ర నామము]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr "<బహిష్కరించబడిన>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"====జాబితా మరింది, పున:స్థాపన జరుగుతున్నది·====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "జాబితా ఖాళీగా ఉంది" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "రంగస్థల యొక్క నిర్ధిష్ట జాబితాను గ్నోమ్ ఎలా అమలు చేసిందో పరీక్షించు" + diff --git a/po/th.po b/po/th.po new file mode 100644 index 0000000..a01f03e --- /dev/null +++ b/po/th.po @@ -0,0 +1,281 @@ +# Thai translation of mate-menus. +# Copyright (C) 2004-2009 Free Software Foundation, Inc. +# This file is distributed under the same license as the mate-menus package. +# Theppitak Karoonboonyanan <[email protected]>, 2004-2007. +# +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus 2.9.2\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-07-23 15:10+0700\n" +"PO-Revision-Date: 2009-07-23 15:13+0700\n" +"Last-Translator: Theppitak Karoonboonyanan <[email protected]>\n" +"Language-Team: Thai <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "เมนูระบบสื่อผสม" + +#: desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "เสียงและวีดิทัศน์" + +#: desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "เขียนโปรแกรม" + +#: desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "เครื่องมือพัฒนาซอฟต์แวร์" + +#: desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "การศึกษา" + +#: desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "เกม" + +#: desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "เกมและความบันเทิง" + +#: desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "รูปภาพ" + +#: desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "โปรแกรมสำหรับรูปภาพ" + +#: desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "ฮาร์ดแวร์" + +#: desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "ตั้งค่าอุปกรณ์ฮาร์ดแวร์ต่างๆ" + +#: desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "อินเทอร์เน็ตและเครือข่าย" + +#: desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "ตั้งค่าเกี่ยวกับเครือข่าย" + +#: desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "รูปลักษณ์และการใช้งาน" + +#: desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "ตั้งค่าควบคุมรูปโฉมและพฤติกรรมของเดสก์ท็อป" + +#: desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "อินเทอร์เน็ต" + +#: desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "โปรแกรมสำหรับเข้าอินเทอร์เน็ต เช่น เว็บและเมล" + +#: desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "สำนักงาน" + +#: desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "โปรแกรมสำหรับสำนักงาน" + +#: desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "ส่วนบุคคล" + +#: desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "ตั้งค่าส่วนบุคคล" + +#: desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "ดูแลระบบ" + +#: desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "การตั้งค่าที่มีผลทั้งระบบ (มีผลต่อผู้ใช้ทุกคน)" + +#: desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "ปรับแต่งพื้นโต๊ะส่วนตัว" + +#: desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "ปรับแต่งพื้นโต๊ะ" + +#: desktop-directories/System.directory.in.h:1 +#: desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "ระบบ" + +#: desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "ตั้งค่าระบบ" + +#: desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "เครื่องมือระบบ" + +#: desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "ตั้งค่าและเฝ้าดูระบบ" + +#: desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "สิ่งอำนวยความสะดวก" + +#: desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "ตั้งค่าสิ่งอำนวยความสะดวก" + +#: desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "เครื่องใช้ไม้สอย" + +#: desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "โปรแกรมเครื่องใช้ไม้สอยบนเดสก์ท็อป" + +#: desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "โปรแกรม" + +#: desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "ปรับแต่งพื้นโต๊ะส่วนตัวและตั้งค่าระบบ" + +#: desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "โปรแกรมที่ไม่อยู่ในหมวดอื่นๆ" + +#: desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "อื่นๆ" + +#: simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "แก้ไขเมนู" + +#: simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "แก้ไขเมนู" + +#: simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "โ_ปรแกรม:" + +#: simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "ค่า_ปริยาย" + +#: simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "เ_มนู:" + +#. Translators: %s is the version number +#: simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "เครื่องมือแก้ไขเมนูอย่างง่าย %s" + +#: simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "ชื่อ" + +#: simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "แสดง" + +#: simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"หาไดเรกทอรีบ้านไม่พบ: ไม่ได้ตั้งค่าไว้ใน /etc/passwd และไม่ได้กำหนดค่าตัวแปร $HOME ใน " +"environment" + +#: util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "แฟ้มเมนู" + +#: util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_FILE" + +#: util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "ติดตามการเปลี่ยนแปลงของเมนู" + +#: util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "รวมรายการ <Exclude> ด้วย" + +#: util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "รวมรายการ NoDisplay=true ด้วย" + +#: util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "ชื่อแฟ้มเดสก์ท็อปใช้ไม่ได้" + +#: util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[ชื่อแฟ้มใช้ไม่ได้]" + +#: util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <ไม่นับรวม>" + +#: util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== เมนูมีการเปลี่ยนแปลง กำลังโหลดใหม่ ====\n" +"\n" +"\n" + +#: util/test-menu-spec.c:169 util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "โครงสร้างเมนูว่างเปล่า" + +#: util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- ทดสอบการทำงานของระบบเมนู MATE ตามข้อกำหนดเมนูเดสก์ท็อป" + +#~ msgid "Universal access related preferences" +#~ msgstr "การปรับแต่งเกี่ยวกับสิ่งอำนวยความสะดวก" + +#~ msgid "Personal preferences and settings" +#~ msgstr "ปรับแต่งและตั้งค่าพื้นโต๊ะส่วนตัว" + +#~ msgid "Accessibility" +#~ msgstr "สิ่งอำนวยความสะดวก" + +#~ msgid "Accessibility Settings" +#~ msgstr "ตั้งค่าสิ่งอำนวยความสะดวก" + +#~ msgid "Desktop" +#~ msgstr "พื้นโต๊ะ" diff --git a/po/tr.po b/po/tr.po new file mode 100644 index 0000000..1226039 --- /dev/null +++ b/po/tr.po @@ -0,0 +1,276 @@ +# translation of tr.po to Turkish +# translation of Mate-menus. +# Copyright (C) 2004 THE Mate-menus'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Mate-menus package. +# +# +# Onur Can Çakmak <[email protected]>, 2006. +# Baris Cicek <[email protected]>, 2005, 2008, 2009. +msgid "" +msgstr "" +"Project-Id-Version: tr\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-10 00:22+0300\n" +"PO-Revision-Date: 2009-09-10 00:25+0300\n" +"Last-Translator: Baris Cicek <[email protected]>\n" +"Language-Team: Turkish <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Çokluortam menüsü" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Ses ve Video" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Programlama" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Yazılım geliştirme için araçlar" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Eğitim" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Oyunlar" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Oyun ve eğlencelikler" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Grafik" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Grafik uygulamaları" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Donanım" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Bazı donanım aygıtları için ayarlar" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "İnternet ve Ağ" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Ağ ile ilgili ayarlar" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Görünüş ve İşleyiş" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Masaüstü görünüm ve işleyişini kontrol eden ayarlar" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "İnternet" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Web ve e-posta gibi internete erişim amaçlı programlar" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Ofis" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Ofis Uygulamaları" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Kişisel" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Kişisel ayarlar" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Yönetim" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Sistem geneli ayarları değiştir (tüm kullanıcıları etkiler)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Kişisel tercihler" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Tercihler" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Sistem" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Sistem ayarları" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Sistem Araçları" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Sistem yapılandırma ve izleme" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Evrensel Erişim" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Evrensel Erişim Ayarları" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Donatılar" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Masaüstü donatıları" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Uygulamalar" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Kişisel tercihler ve yönetim ayarları" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Diğer sınıflandırmalara girmeyen uygulamalar" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Diğer" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Menü Düzenleyicisi" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Menüleri Düzenle" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Uygulamalar:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "Ö_ntanımlılar" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Menüler:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Basit Menü Düzenleyicisi %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Ad" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Göster" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Başlangıç dizini bulunamadı: /etc/passwd içinde ayarlanmamış ve ortam " +"değişkeni $HOME içinde değer yok" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Menü dosyası" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "MENU_DOSYASI" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Menü değişikliklerini izle" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "<Exclude> edilmiş girişleri içer" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "NoDisplay=true girdileri içer" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Geçersiz masaüstü dosya ID'si" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Geçersiz Dosyaadı]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Menü değişti, yeniden yükleniyor ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Menü ağacı boş" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- MATE'un Masaüstü Menü Belirtimleri uygulamasını sına" + +#~ msgid "Universal access related preferences" +#~ msgstr "Evrensel erişim ile ilgili tercihler" + +#~ msgid "Personal preferences and settings" +#~ msgstr "Kişisel tercih ve ayarlar" diff --git a/po/ug.po b/po/ug.po new file mode 100644 index 0000000..61b926d --- /dev/null +++ b/po/ug.po @@ -0,0 +1,297 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Gheyret T.Kenji <[email protected]> +# Sahran <[email protected]> +# +msgid "" +msgstr "" +"Project-Id-Version: mate/menus\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-" +"menus&component=general\n" +"POT-Creation-Date: 2010-07-20 10:11+0000\n" +"PO-Revision-Date: 2010-08-02 01:02+0600\n" +"Last-Translator: Sahran <[email protected]>\n" +"Language-Team: Uyghur Computer Science Association <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2010-05-05 21:49+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "كۆپ ۋاسىتە تىزىملىك" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "ئۈن ۋە سىن" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "پروگراممىچىلىق" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "يۇمشاق دېتال ئىجادىيەت قوراللىرى" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "مائارىپ" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "ئويۇنلار" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "ئويۇن ۋە كۆڭۈل ئېچىش پروگراممىلىرى" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "گرافىكلار" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "گرافىك قوللىنىشچان پروگراممىلىرى" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "قاتتىق دېتال" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "قاتتىق دېتاللار تەڭشىكى" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "تۇتاش تور ۋە تور" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "تورغا مۇناسىۋەتلىك تەڭشەك" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "كۆرۈنۈش تۇيغۇسى" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "ئۈستەل ئۈستى ئۇسلۇبى ۋە ھەرىكىتىنى كونترول قىلىش تەڭشىكى" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "تۇتاش تور" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "تور ۋە ئېلخەتكە ئوخشاش تۇتاش تور زىيارەت پروگراممىلىرى" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "ئىشخانا" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "ئىشخانا قوللىنىشچان پروگراممىلىرى" + +#. Translators: this is Personal as in "Personal settings" +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal" +msgstr "شەخسىي" + +#: ../desktop-directories/Personal.directory.in.h:3 +msgid "Personal settings" +msgstr "شەخسىي تەڭشەكلەر" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "باشقۇر" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "سىستېما تەڭشىكىنى ئۆزگەرت (ھەممە ئىشلەتكۈچىگە تەسىر كۆرسىتىدۇ)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "شەخسىي مايىللىق" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "مايىللىق" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "سىستېما" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "سىستېما تەڭشەكلىرى" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "سىستېما قوراللىرى" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "سىستېما سەپلەش ۋە كۆزىتىش" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "ھەممىباب زىيارەت" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "ھەممىباب زىيارەت تەڭشىكى" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "قوشۇمچە" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "ئۈستەل ئۈستى قوشۇمچە دېتاللىرى" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "قوللىنىشچان پروگراممىلار" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "شەخسىي مايىللىق ۋە باشقۇرۇش تەڭشىكى" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "باشقا تۈرلەرگە تەۋە بولمىغان پروگراممىلار" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "باشقا" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "تىزىملىك تەھرىرلىگۈچ" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "تىزىملىك تەھرىر" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "قوللىنىشچان پروگراممىلار(_A)" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "كۆڭۈلدىكى(_D)" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "تىزىملىكلەر(_M):" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "ئاددىي تىزىملىك تەھرىرلىگۈچ %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "ئاتى" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "كۆرسەت" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"home مۇندەرىجىسى تېپىلمىدى: /etc/passwd دا بەلگىلەنمىگەن ياكى سىستېما " +"مۇھىتىدا $HOME نىڭ قىممىتى يوق" + +#~ msgid "Action" +#~ msgstr "مەشغۇلات" + +#~ msgid "Action games" +#~ msgstr "ھەرىكەتلىك ئويۇنلار" + +#~ msgid "Adventure" +#~ msgstr "خەتەرلىك" + +#~ msgid "Adventure style games" +#~ msgstr "قاباھەتلىك ئويۇنلار" + +#~ msgid "Arcade" +#~ msgstr "Arcade" + +#~ msgid "Arcade style games" +#~ msgstr "Arcade style games" + +#~ msgid "Falling blocks" +#~ msgstr "Falling blocks" + +#~ msgid "Falling blocks games" +#~ msgstr "Falling blocks games" + +#~ msgid "Board" +#~ msgstr "تاختا" + +#~ msgid "Board games" +#~ msgstr "تاختا ئويۇنلار" + +#~ msgid "Card games" +#~ msgstr "قارتا ئويۇنلىرى" + +#~ msgid "Cards" +#~ msgstr "قارتىلار" + +#~ msgid "Debian" +#~ msgstr "Debian" + +#~ msgid "The Debian menu" +#~ msgstr "Debainتىزىملىكى" + +#~ msgid "Science" +#~ msgstr "ئىلىم" + +#~ msgid "Scientific applications" +#~ msgstr "ئىلىم دېتاللىرى" + +#~ msgid "Games for kids" +#~ msgstr "بالىلار ئويۇنلىرى" + +#~ msgid "Kids" +#~ msgstr "بالىلار" + +#~ msgid "Logic" +#~ msgstr "لوگىكا" + +#~ msgid "Logic and puzzle games" +#~ msgstr "لوگىكىلىق ۋە تېپىشماقلىق ئويۇنلار" + +#~ msgid "Role playing" +#~ msgstr "رول ئېلىپ ئويناش" + +#~ msgid "Role playing games" +#~ msgstr "رول ئېلىپ ئوينايدىغان ئورۇنلار" + +#~ msgid "Simulation" +#~ msgstr "تەقلىدلەشتۈرگۈچ" + +#~ msgid "Simulation games" +#~ msgstr "تەقلىدلەشتۈرگۈچ ئويۇنى" + +#~ msgid "Sports" +#~ msgstr "تەنتەربىيە" + +#~ msgid "Sports games" +#~ msgstr "تەنتەربىيە ئويۇنلىرى" + +#~ msgid "Strategy" +#~ msgstr "ئىستراتېگىيە" + +#~ msgid "Strategy games" +#~ msgstr "ئىستراتېگىيىلىك ئويۇنلا" diff --git a/po/uk.po b/po/uk.po new file mode 100644 index 0000000..b08d02a --- /dev/null +++ b/po/uk.po @@ -0,0 +1,281 @@ +# Ukrainian translation of mate-menus. +# Copyright (C) Free Software Foundation Inc., 2005 +# This file is distributed under the same license as the mate-menus package. +# Maxim Dziumanenko <[email protected]>, 2005-2007. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-17 13:55+0300\n" +"PO-Revision-Date: 2007-09-11 16:17+0200\n" +"Last-Translator: Maxim Dziumanenko <[email protected]>\n" +"Language-Team: Ukrainian <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Мультимедіа" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Звук та відео" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Програмування" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Засоби розробки програм" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Навчання" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Ігри" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Ігри та розваги" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Графіка" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Графічні програми" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Обладнання" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Параметри деяких апаратних пристроїв" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Інтернет та мережа" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Параметри, що відносяться до налаштовування мережі" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Оформлення" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "" +"Параметри, що впливають на зовнішній вигляд та поведінку робочого столу" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Інтернет" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Програми для роботи з Інтернет (пошта, веб-переглядач, тощо)" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Офіс" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Офісні програми" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Особисті" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Персональні параметри" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Адміністрування" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Зміна системних параметрів (впливає на усіх користувачів)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Особисті уподобання" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Параметри" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "Системна" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Системні параметри" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Системні утиліти" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Засоби налаштовування та контролю системи" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Універсальний доступ" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Параметри універсального доступу" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Стандартні" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Стандартні програми" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Програми" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Особисті параметри та адміністративні параметри" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Програми, що не належать до жодної категорії" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Інші" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Редактор меню" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "Правка меню" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "_Програми:" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "_Типові" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "_Меню:" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "Простий редактор меню %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Назва" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Показувати" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Не вдається знайти домашній каталог: не встановлено у /etc/passwd та не " +"визначено у змінній оточення $HOME" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Файл меню" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "ФАЙЛ_МЕНЮ" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Контролювати зміни у меню" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Включати елементи з <Exclude>" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Включати елементи з NoDisplay=true" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "Неправильний ідентифікатор desktop-файлу" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Неправильна назва файлу]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Меню змінено, перезавантаження ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Дерево меню порожнє" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- перевірка реалізації у MATE специфікації з меню робочого столу" + +#~ msgid "Universal access related preferences" +#~ msgstr "Параметри пов'язані з універсальним доступом" + +#~ msgid "Personal preferences and settings" +#~ msgstr "Особисті параметри" + +#~ msgid "Accessibility" +#~ msgstr "Спеціальні можливості" + +#~ msgid "Accessibility Settings" +#~ msgstr "Налаштовування спеціальних можливостей" + +#~ msgid "Desktop" +#~ msgstr "Робочий стіл" diff --git a/po/[email protected] b/po/[email protected] new file mode 100644 index 0000000..a62c6b5 --- /dev/null +++ b/po/[email protected] @@ -0,0 +1,270 @@ +# translation of [email protected] to Uzbek +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Nurali Abdurahmonov <[email protected]>, 2007. +msgid "" +msgstr "" +"Project-Id-Version: uz@cyrillic\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-06-28 14:32+0200\n" +"PO-Revision-Date: 2007-09-20 18:50+0500\n" +"Last-Translator: Nurali Abdurahmonov <[email protected]>\n" +"Language-Team: Uzbek\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: ../desktop-directories/Accessibility.directory.in.h:1 +#: ../desktop-directories/Settings-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "" + +#: ../desktop-directories/Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "" + +#: ../desktop-directories/Accessories.directory.in.h:1 +msgid "Accessories" +msgstr "" + +#: ../desktop-directories/Accessories.directory.in.h:2 +msgid "Desktop accessories" +msgstr "" + +#: ../desktop-directories/Applications.directory.in.h:1 +msgid "Applications" +msgstr "Дастурлар" + +#: ../desktop-directories/Desktop.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "" + +#: ../desktop-directories/Desktop.directory.in.h:2 +#: ../desktop-directories/System.directory.in.h:1 +msgid "System" +msgstr "Тизим" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Дастурлаш" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Дастурлаш учун воситалар" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Таълим" + +#: ../desktop-directories/Games.directory.in.h:1 +msgid "Games" +msgstr "Ўйинлар" + +#: ../desktop-directories/Games.directory.in.h:2 +msgid "Games and amusements" +msgstr "Ўйинлар ва кўнгилочар дастурлар" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Графика" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Графика дастурлари" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Асбоб-ускуналар" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Интернет ва тармоқ" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Тармоққа оид мосламалар" + +#: ../desktop-directories/Internet.directory.in.h:1 +msgid "Internet" +msgstr "Интернет" + +#: ../desktop-directories/Internet.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Веб браузер ва эл.почта каби интернет билан ишлаш дастурлари" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Ташқи кўриниши" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Иш столининг ташқи кўриниши ва хусусиятларига оид мосламалар" + +#: ../desktop-directories/Multimedia.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Мултимедиа менюси" + +#: ../desktop-directories/Multimedia.directory.in.h:2 +msgid "Sound & Video" +msgstr "Товуш ва видео" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Офис" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Офис дастурлари" + +#: ../desktop-directories/Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Ҳеч қайси туркумга кирмайдиган дастурлар" + +#: ../desktop-directories/Other.directory.in.h:2 +msgid "Other" +msgstr "Бошқа" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Шахсий" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Шахсий мосламалар" + +#: ../desktop-directories/Preferences.directory.in.h:1 +msgid "Personal preferences" +msgstr "" + +#: ../desktop-directories/Preferences.directory.in.h:2 +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "" + +#: ../desktop-directories/Settings-Accessibility.directory.in.h:2 +msgid "Universal access related preferences" +msgstr "" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences and settings" +msgstr "" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Тизим мосламалари" + +#: ../desktop-directories/System-Settings.directory.in.h:1 +msgid "Administration" +msgstr "Бошқарув" + +#: ../desktop-directories/System-Settings.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "" +"Бутун тизимга оид мосламаларни ўзгартириш (барча фойдаланувчиларга таъсир " +"қилади)" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Тизим воситалари" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Тизимни мослаш ва кузатиш" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Меню таҳрирчиси" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "Менюларни таҳрирлаш" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "_Дастурлар:" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "_Андозалар" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "_Менюлар:" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123 +msgid "Name" +msgstr "Номи" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115 +msgid "Show" +msgstr "Кўрсатиш" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Меню файли" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "МЕНЮ_ФАЙЛИ" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Менюдаги ўзгаришларни кузатиш" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "desktop файли ID'си хато" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Хато файл номи]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <excluded>" + +#: ../util/test-menu-spec.c:164 +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Меню ўзгартирилди, қайта юкланмоқда ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Меню дарахти бўш" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "" + diff --git a/po/vi.po b/po/vi.po new file mode 100644 index 0000000..a579ddf --- /dev/null +++ b/po/vi.po @@ -0,0 +1,279 @@ +# Vietnamese Translation for Mate Menus. +# Copyright © 2007 Mate i18n Project for Vietnamese. +# This file is distributed under the same license as the mate-menus package. +# Trinh Minh Thanh <[email protected]>, 2004. +# Clytie Siddall <[email protected]>, 2005-2007. +# +msgid "" +"" +msgstr "Project-Id-Version: mate-menus 2.19.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-02 03:41+0100\n" +"PO-Revision-Date: 2007-06-26 23:13+0930\n" +"Last-Translator: Clytie Siddall <[email protected]>\n" +"Language-Team: Vietnamese <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.6.4a3\n" + +#: ../desktop-directories/Accessibility.directory.in.h:1 +#: ../desktop-directories/Settings-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "Truy cập hoàn toàn" + +#: ../desktop-directories/Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "Thiết lập Truy cập Hoàn toàn" + +#: ../desktop-directories/Accessories.directory.in.h:1 +msgid "Accessories" +msgstr "Bổ trợ" + +#: ../desktop-directories/Accessories.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Bổ trợ môi trường" + +#: ../desktop-directories/Applications.directory.in.h:1 +msgid "Applications" +msgstr "Ứng dụng" + +#: ../desktop-directories/Desktop.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Thiết lập quản lý và Tùy thích cá nhân" + +#: ../desktop-directories/Desktop.directory.in.h:2 +#: ../desktop-directories/System.directory.in.h:1 +msgid "System" +msgstr "Hệ thống" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Lập trình" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Công cụ phát triển phần mềm" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Giáo dục" + +#: ../desktop-directories/Games.directory.in.h:1 +msgid "Games" +msgstr "Trò chơi" + +#: ../desktop-directories/Games.directory.in.h:2 +msgid "Games and amusements" +msgstr "Trò chơi và giải trí" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Đồ họa" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Ứng dụng đồ họa" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "Phần cứng" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "Thiết lập cho các thiết bị phần cứng" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "Internet và mạng" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "Thiết lập mạng" + +#: ../desktop-directories/Internet.directory.in.h:1 +msgid "Internet" +msgstr "Mạng" + +#: ../desktop-directories/Internet.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Chương trình truy cập Mạng như trình duyệt và trình nhận/gửi thư điện tử" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "Sắc thái" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "Thiết lập điều khiển diện mạo và cách ứng xử của hệ thống" + +#: ../desktop-directories/Multimedia.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Trình đơn Đa phương tiện" + +#: ../desktop-directories/Multimedia.directory.in.h:2 +msgid "Sound & Video" +msgstr "Âm thanh và Ảnh động" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Văn phòng" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Ứng dụng văn phòng" + +#: ../desktop-directories/Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Chương trình chưa phân loại" + +#: ../desktop-directories/Other.directory.in.h:2 +msgid "Other" +msgstr "Khác" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "Cá nhân" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "Thiết lập cá nhân" + +#: ../desktop-directories/Preferences.directory.in.h:1 +msgid "Personal preferences" +msgstr "Tùy thích cá nhân" + +#: ../desktop-directories/Preferences.directory.in.h:2 +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Tùy thích" + +#: ../desktop-directories/Settings-Accessibility.directory.in.h:2 +msgid "Universal access related preferences" +msgstr "Tùy thích liên quan đến khả năng truy cập" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences and settings" +msgstr "Thiết lập và tùy thích cá nhân" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "Thiết lập hệ thống" + +#: ../desktop-directories/System-Settings.directory.in.h:1 +msgid "Administration" +msgstr "Quản lý" + +#: ../desktop-directories/System-Settings.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "Thay đổi thiết lập cho toàn hệ thống (cho mọi người dùng)" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Công cụ hệ thống" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Cấu hình và theo dõi hệ thống" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Bộ sửa trình đơn" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "Sửa trình đơn" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "Ứ_ng dụng:" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "_Mặc định" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "_Trình đơn:" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123 +msgid "Name" +msgstr "Tên" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115 +msgid "Show" +msgstr "Hiển thị" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "Không tìm thấy thư mục chính: chưa lập trong tập tin « /etc/passwd » và không có giá " +"trị cho biến $HOME trong môi trường." + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Tập tin trình đơn" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "TẬP_TIN_TRÌNH_ĐƠN" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Bộ theo dõi thay đổi trình đơn" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Gồm các mục nhập bị <loại trừ>" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "Gồm các mục nhập « NoDisplay=true » (không hiển thị là đúng)" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "ID tập tin màn hình nền không hợp lệ" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Tên tập tin không hợp lệ]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <bị loại trừ>" + +#: ../util/test-menu-spec.c:164 +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "\n" +"\n" +"\n" +"==== Trình đơn đã thay đổi nên đang nạp lại ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 +#: ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Cây trình đơn rỗng" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "— kiểm tra sự thực hiện MATE của Đặc tả Trình đơn Môi trường" + +#~ msgid "Accessibility" +#~ msgstr "Khả năng truy cập" + +#~ msgid "Accessibility Settings" +#~ msgstr "Thiết lập khả năng truy cập" + +#~ msgid "Desktop" +#~ msgstr "Desktop" diff --git a/po/xh.po b/po/xh.po new file mode 100644 index 0000000..4b02266 --- /dev/null +++ b/po/xh.po @@ -0,0 +1,127 @@ +# Xhosa translation of mate-menus +# Copyright (C) 2005 Canonical Ltd. +# This file is distributed under the same license as the mate-menus package. +# Translation by Canonical Ltd <[email protected]> with thanks to +# Translation World CC in South Africa, 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-04-01 13:09+0200\n" +"PO-Revision-Date: 2005-03-30 21:58+0200\n" +"Last-Translator: Canonical Ltd <[email protected]>\n" +"Language-Team: Xhosa <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../desktop-directories/Accessibility.directory.in.h:1 +#: ../desktop-directories/Settings-Accessibility.directory.in.h:1 +msgid "Accessibility" +msgstr "Ukufikeleleka" + +#: ../desktop-directories/Accessibility.directory.in.h:2 +msgid "Accessibility Settings" +msgstr "Imimiselo Yokufikeleleka" + +#: ../desktop-directories/Accessories.directory.in.h:1 +msgid "Accessories" +msgstr "Izinto ezongezelelwayo" + +#: ../desktop-directories/Accessories.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Izinto ezongezelelwayo ze-Desktop" + +#: ../desktop-directories/Applications.directory.in.h:1 +msgid "Applications" +msgstr "Iinkqubo" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Ukwenziwa kweenkqubo" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Izixhobo zokuphuhlisa ubucukubhede bekhompyutha" + +#: ../desktop-directories/Edutainment.directory.in.h:1 +msgid "Edutainment" +msgstr "Ukufunda ngokuzonwabisa" + +#: ../desktop-directories/Games.directory.in.h:1 +msgid "Games" +msgstr "Imidlalo" + +#: ../desktop-directories/Games.directory.in.h:2 +msgid "Games and amusements" +msgstr "Imidlalo nokuzihlekisa" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Iimo zezibonakalisi-nkqubo" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Iinkqubo ngeemo zezibonakalisi-nkqubo" + +#: ../desktop-directories/Internet.directory.in.h:1 +msgid "Internet" +msgstr "I-intanethi" + +#: ../desktop-directories/Internet.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Iinkqubo zokufikelela kwi-Intanethi ezinjenge-web ne-imeyile" + +#: ../desktop-directories/Multimedia.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Imenu Yezixhobo eziphathekayo zokugcina ulwazi ngokuphinda-phindeneyo" + +#: ../desktop-directories/Multimedia.directory.in.h:2 +msgid "Sound & Video" +msgstr "Isandi neVidiyo" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "i-Ofisi" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Iinkqubo ze-Ofisi" + +#: ../desktop-directories/Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Iinkqubo ezingangeniyo kwezinye iindidi" + +#: ../desktop-directories/Other.directory.in.h:2 +msgid "Other" +msgstr "Ezinye" + +#: ../desktop-directories/Settings-Accessibility.directory.in.h:2 +msgid "Accessibility related preferences" +msgstr "Uluhlu lwezinto ezikhethwayo olunxulumene nofikeleleko" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences and settings" +msgstr "Uluhlu lwezinto ezikhethwayo zaloo mntu uthile kunye nemimiselo" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Uluhlu lwezinto ezikhethwayo" + +#: ../desktop-directories/System-Settings.directory.in.h:1 +msgid "Administration" +msgstr "Ulawulo" + +#: ../desktop-directories/System-Settings.directory.in.h:2 +msgid "Change systemwide settings (affects all users)" +msgstr "" +"Tshintsha imimiselo yenkqubo ngokubanzi (ichukumisa bonke abasebenzisi)" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Izixhobo Zeenkqubo" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Umiselo-nkqubo lwendlela emisiweyo kunye nokuhlola" diff --git a/po/yo.po b/po/yo.po new file mode 100644 index 0000000..755975a --- /dev/null +++ b/po/yo.po @@ -0,0 +1,270 @@ +msgid "" +msgstr "" +"Project-Id-Version: mate-menus.mate-2-12\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-" +"menus&component=general\n" +"POT-Creation-Date: 2009-01-01 18:52+0000\n" +"PO-Revision-Date: 2006-07-07 16:38+0100\n" +"Last-Translator: Fajuyitan, Sunday Ayo <[email protected]>\n" +"Language-Team: Yoruba\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.10\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "Àtòjọ-ẹ̀yàn agbé-ọ̀pọ̀-ìròyìn-jáde" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "Ìró & Fídíò" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "Ìṣàtòjọ-ètò" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "Àwọn irinṣẹ́ fún ìdàgbàsókè ẹ̀yà-ará kọ̀ǹpútà àìfojúrí" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "Ẹ̀kọ́" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "Àwọn Ayò" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "Àwọn ayò àti àwọn eré-àṣenọjú" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "Gíráfíìsì" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "Àwọn ìṣàmúlò-ètò gíráfíìsì" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "Ítánẹ́̀ẹ̀tì" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "Àwọn àtòjọ-ètò fún ìráyè ítánẹ́ẹ̀tì bíi wẹ́ẹ̀bù àti lẹ́tà kọ̀ǹpútà" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "Ọ́fíìsì" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "Àwọn Ìṣàmúlò-ètò Ọ́fíìsì" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "" + +#: ../desktop-directories/Personal.directory.in.h:2 +#, fuzzy +msgid "Personal settings" +msgstr "Àwọn ààtò àti àwọn ìkúndùn aládàáni" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "Ìṣàkóso" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +#, fuzzy +msgid "Change system-wide settings (affects all users)" +msgstr "Yí àwọn ààtò ìfẹ̀sí-ètò kọ̀ǹpútà padà (ó kan gbogbo òǹlò)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "Àwọn ìkúndùn aládàáni" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "Àwọn ìkúndùn" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +#, fuzzy +msgid "System" +msgstr "Àwọn Irinṣẹ́ Ètò Kọ̀ǹpútà" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "Àwọn Irinṣẹ́ Ètò Kọ̀ǹpútà" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "Ìṣàmójútó àti àtòpọ̀ ètò kọ̀ǹpútà" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +#, fuzzy +msgid "Universal Access Settings" +msgstr "Àwọn Ààtò Ìráyè" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "Àwọn Àsẹ́sírì" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "Àwọn àsẹ́sírì ojù-iṣẹ́" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "Àwọn Ìṣàmúlò-ètò" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "Àwọn ààtò ìṣàkóso àti àwọn ìkúndùn aládàáni" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "Àwọn ìsàmúlò-ètò tí kò bá àwọn ọ̀wọ́ mìíràn mu" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "Òmíràn" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "Olótùú Àtòjọ-ẹ̀yàn" + +#: ../simple-editor/gmenu-simple-editor.glade.h:1 +msgid "Edit Menus" +msgstr "Ṣàyẹ̀wò Àwọn Àtòjọ-ẹ̀yàn" + +#: ../simple-editor/gmenu-simple-editor.glade.h:2 +msgid "_Applications:" +msgstr "_Àwọn Ìṣàmúlò-ètò:" + +#: ../simple-editor/gmenu-simple-editor.glade.h:3 +msgid "_Defaults" +msgstr "_Àwọn ìpéwọ̀n" + +#: ../simple-editor/gmenu-simple-editor.glade.h:4 +msgid "_Menus:" +msgstr "_Àwọn Àtòjọ-ẹ̀yàn:" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "Orúkọ" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "Fihàn" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "" +"Kò lè wá atọ́nà ilé: kò sí àgbékalẹ̀ rẹ̀ ní /etc/passwd kò sí oye fún $HOME ní " +"àyíká" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "Fáìlì àtòjọ-ẹ̀yàn" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "FÁÌLÌ_ÀTÒJỌ-Ẹ̀YÀN" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "Àpótí ìṣàfihàn fún àwọn ìyípadà àtòjọ-ẹ̀yàn" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "Fi àwọn àmúwọlé <Tí Kò Sí Níbẹ̀> si" + +#: ../util/test-menu-spec.c:36 +#, fuzzy +msgid "Include NoDisplay=true entries" +msgstr "Fi àwọn àmúwọlé <Tí Kò Sí Níbẹ̀> si" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "ID fáìlì ojú-iṣẹ́ àìfẹsẹmúlẹ̀" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "̀̀̀̀̀̀̀̀[Orúkọ-fáìlì Àìfẹsẹ̀múlẹ̀]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <kò sí níbẹ̀>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== Àtúnkì àtòjọ-ẹ̀yàn tó yípadà ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "Igi àtòjọ-ẹ̀yàn ṣófo" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- yẹ ìpilẹ̀ Ojúùwọ̀n Àtòjọ-ẹ̀yàn Ojú-iṣẹ́ MATE wò" + +#~ msgid "Accessibility" +#~ msgstr "Ìráyè" + +#~ msgid "Accessibility related preferences" +#~ msgstr "Àwọn ìkúndùn ajemọ́ ìráyè" + +#~ msgid "Desktop" +#~ msgstr "Ojú-iṣẹ́" diff --git a/po/zh_CN.po b/po/zh_CN.po new file mode 100644 index 0000000..f365e90 --- /dev/null +++ b/po/zh_CN.po @@ -0,0 +1,268 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Funda Wang <[email protected]>, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus HEAD\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-" +"menus&component=general\n" +"POT-Creation-Date: 2009-12-14 20:17+0000\n" +"PO-Revision-Date: 2010-01-09 18:39+0700\n" +"Last-Translator: 甘露(Gan Lu) <[email protected]>\n" +"Language-Team: zh_CN <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2009-07-26 05:48+0000\n" +"X-Generator: Launchpad (build Unknown)\n" +"X-Poedit-Country: CHINA\n" +"X-Poedit-Language: Chinese\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "多媒体菜单" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "影音" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "编程" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "软件开发工具" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "教育" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "游戏" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "游戏和娱乐" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "图形" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "图形应用程序" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "硬件" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "硬件设置" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "互联网和网络" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "网络相关的设置" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "外观" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "控制桌面外观和行为的设置" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "互联网" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "网络相关应用软件,如网络浏览和电子邮件管理" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "办公" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "办公应用程序" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "个人" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "个人设置" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "系统管理" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "更改系统设置(影响所有用户)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "个人首选项" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "首选项" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "系统" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "系统设置" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "系统工具" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "系统配置和监视" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "通用访问" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "通用访问设置" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "附件" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "桌面附件" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "应用程序" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "个人首选项和管理设置" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "无法分入其它类别的应用程序" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "其它" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "菜单编辑器" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "编辑菜单" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "应用程序(_A):" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "默认(_D)" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "菜单(_M):" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "简单的菜单编辑器 %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "名称" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "显示" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "找不到主目录:未在 /etc/passwd 中设定,也未在 $HOME 环境变量中设置" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "菜单文件" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "菜单文件" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "监视菜单更改的程序" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "包含<已排除>的项目" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "包含 NoDisplay=true 的项目" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "无效的桌面文件标识" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[无效文件名]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr " <已排除>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== 菜单已更改,重新装入 ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "菜单树为空" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- 测试 MATE 对桌面菜单规范的实现" diff --git a/po/zh_HK.po b/po/zh_HK.po new file mode 100644 index 0000000..22ca78b --- /dev/null +++ b/po/zh_HK.po @@ -0,0 +1,279 @@ +# Chinese (Hong Kong) translation of mate-menu. +# Copyright (C) 2005, 06, 07 Free Software Foundation, Inc. +# Woodman Tuen <[email protected]>, 2005-07. +# +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menu 2.28.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-13 06:31+0800\n" +"PO-Revision-Date: 2009-09-13 06:32+0800\n" +"Last-Translator: Chao-Hsiung Liao <[email protected]>\n" +"Language-Team: Chinese (Hong Kong) <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "多媒體選單" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "影音" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "軟件開發" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "軟件開發工具" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "教育" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "遊戲" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "遊戲及娛樂" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "美工繪圖" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "繪圖工具" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "硬件" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "多種硬件的設定" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "互聯網及網絡" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "網絡相關設定" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "外觀與感覺" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "控制桌面顯示方式及行為的設定" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "互聯網" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "如瀏覽網頁及收發電郵等網絡軟件" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "辦公" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "辦公室軟件" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "個人" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "個人設定" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "管理" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "更改全系統設定值(影響所有用戶)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "個人偏好設定" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "偏好設定" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "系統" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "系統設定" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "系統工具" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "系統配置及監察" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "無障礙功能" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "無障礙功能設定值" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "附屬應用程式" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "桌面附屬應用程式" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "應用程式" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "個人偏好及管理設定" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "不符合其它分類的軟件" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "其他" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "選單編輯器" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "編輯選單" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "應用程式(_A):" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "預設(_D)" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "選單(_M):" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "簡易選單編輯器 %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "名稱" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "顯示" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "找不到個人資料夾:沒有設定在 /etc/passwd 及環境變數 $HOME 中。" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "選單檔案" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "選單檔案" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "監視選單更改" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "包含 <不包括> 條目" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "包含不顯示=正確條目" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "無效的桌面檔案 ID" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[無效的檔案名稱]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr "<不包括>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== 選單已更改,重新載入中 ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "選單樹是空白的" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- 測試 MATE 在桌面選單規格的實現" + +#~ msgid "Universal access related preferences" +#~ msgstr "普及近用相關偏好設定" + +#~ msgid "Personal preferences and settings" +#~ msgstr "個人偏好及設定" + +#~ msgid "Accessibility" +#~ msgstr "無障礙環境" + +#~ msgid "Accessibility Settings" +#~ msgstr "無障礙環境設定" + +#~ msgid "Desktop" +#~ msgstr "桌面" diff --git a/po/zh_TW.po b/po/zh_TW.po new file mode 100644 index 0000000..ff87793 --- /dev/null +++ b/po/zh_TW.po @@ -0,0 +1,279 @@ +# Chinese (Taiwan) translation of mate-menu. +# Copyright (C) 2005, 06, 07 Free Software Foundation, Inc. +# Woodman Tuen <[email protected]>, 2005-07. +# +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menu 2.28.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-13 06:31+0800\n" +"PO-Revision-Date: 2009-09-06 11:24+0800\n" +"Last-Translator: Chao-Hsiung Liao <[email protected]>\n" +"Language-Team: Chinese/Traditional <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../desktop-directories/AudioVideo.directory.in.h:1 +msgid "Multimedia menu" +msgstr "多媒體選單" + +#: ../desktop-directories/AudioVideo.directory.in.h:2 +msgid "Sound & Video" +msgstr "影音" + +#: ../desktop-directories/Development.directory.in.h:1 +msgid "Programming" +msgstr "軟體開發" + +#: ../desktop-directories/Development.directory.in.h:2 +msgid "Tools for software development" +msgstr "軟體開發工具" + +#: ../desktop-directories/Education.directory.in.h:1 +msgid "Education" +msgstr "教育" + +#: ../desktop-directories/Game.directory.in.h:1 +msgid "Games" +msgstr "遊戲" + +#: ../desktop-directories/Game.directory.in.h:2 +msgid "Games and amusements" +msgstr "遊戲及娛樂" + +#: ../desktop-directories/Graphics.directory.in.h:1 +msgid "Graphics" +msgstr "美工繪圖" + +#: ../desktop-directories/Graphics.directory.in.h:2 +msgid "Graphics applications" +msgstr "繪圖工具" + +#: ../desktop-directories/Hardware.directory.in.h:1 +msgid "Hardware" +msgstr "硬體" + +#: ../desktop-directories/Hardware.directory.in.h:2 +msgid "Settings for several hardware devices" +msgstr "多種硬體的設定" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:1 +msgid "Internet and Network" +msgstr "網際網路及網路" + +#: ../desktop-directories/InternetAndNetwork.directory.in.h:2 +msgid "Network-related settings" +msgstr "網路相關設定" + +#: ../desktop-directories/LookAndFeel.directory.in.h:1 +msgid "Look and Feel" +msgstr "外觀與感覺" + +#: ../desktop-directories/LookAndFeel.directory.in.h:2 +msgid "Settings controlling the desktop appearance and behavior" +msgstr "控制桌面顯示方式及行為的設定" + +#: ../desktop-directories/Network.directory.in.h:1 +msgid "Internet" +msgstr "網際網路" + +#: ../desktop-directories/Network.directory.in.h:2 +msgid "Programs for Internet access such as web and email" +msgstr "如瀏覽網頁及收發電郵等網路軟體" + +#: ../desktop-directories/Office.directory.in.h:1 +msgid "Office" +msgstr "辦公" + +#: ../desktop-directories/Office.directory.in.h:2 +msgid "Office Applications" +msgstr "辦公室軟體" + +#: ../desktop-directories/Personal.directory.in.h:1 +msgid "Personal" +msgstr "個人" + +#: ../desktop-directories/Personal.directory.in.h:2 +msgid "Personal settings" +msgstr "個人設定" + +#: ../desktop-directories/Settings-System.directory.in.h:1 +msgid "Administration" +msgstr "管理" + +#: ../desktop-directories/Settings-System.directory.in.h:2 +msgid "Change system-wide settings (affects all users)" +msgstr "更改全系統設定值(影響所有用戶)" + +#: ../desktop-directories/Settings.directory.in.h:1 +msgid "Personal preferences" +msgstr "個人偏好設定" + +#: ../desktop-directories/Settings.directory.in.h:2 +msgid "Preferences" +msgstr "偏好設定" + +#: ../desktop-directories/System.directory.in.h:1 +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2 +msgid "System" +msgstr "系統" + +#: ../desktop-directories/System.directory.in.h:2 +msgid "System settings" +msgstr "系統設定" + +#: ../desktop-directories/System-Tools.directory.in.h:1 +msgid "System Tools" +msgstr "系統工具" + +#: ../desktop-directories/System-Tools.directory.in.h:2 +msgid "System configuration and monitoring" +msgstr "系統配置及監察" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:1 +msgid "Universal Access" +msgstr "無障礙功能" + +#: ../desktop-directories/Utility-Accessibility.directory.in.h:2 +msgid "Universal Access Settings" +msgstr "無障礙功能設定值" + +#: ../desktop-directories/Utility.directory.in.h:1 +msgid "Accessories" +msgstr "附屬應用程式" + +#: ../desktop-directories/Utility.directory.in.h:2 +msgid "Desktop accessories" +msgstr "桌面附屬應用程式" + +#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1 +msgid "Applications" +msgstr "應用程式" + +#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1 +msgid "Personal preferences and administration settings" +msgstr "個人偏好及管理設定" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:1 +msgid "Applications that did not fit in other categories" +msgstr "不符合其它分類的軟體" + +#: ../desktop-directories/X-MATE-Other.directory.in.h:2 +msgid "Other" +msgstr "其他" + +#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1 +msgid "Menu Editor" +msgstr "選單編輯器" + +#: ../simple-editor/gmenu-simple-editor.ui.h:1 +msgid "Edit Menus" +msgstr "編輯選單" + +#: ../simple-editor/gmenu-simple-editor.ui.h:2 +msgid "_Applications:" +msgstr "應用程式(_A):" + +#: ../simple-editor/gmenu-simple-editor.ui.h:3 +msgid "_Defaults" +msgstr "預設(_D)" + +#: ../simple-editor/gmenu-simple-editor.ui.h:4 +msgid "_Menus:" +msgstr "選單(_M):" + +#. Translators: %s is the version number +#: ../simple-editor/GMenuSimpleEditor/main.py:49 +#, python-format +msgid "Simple Menu Editor %s" +msgstr "簡易選單編輯器 %s" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94 +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121 +msgid "Name" +msgstr "名稱" + +#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113 +msgid "Show" +msgstr "顯示" + +#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42 +msgid "" +"Cannot find home directory: not set in /etc/passwd and no value for $HOME in " +"environment" +msgstr "找不到個人資料夾:沒有設定在 /etc/passwd 及環境變數 $HOME 中。" + +#: ../util/test-menu-spec.c:33 +msgid "Menu file" +msgstr "選單檔案" + +#: ../util/test-menu-spec.c:33 +msgid "MENU_FILE" +msgstr "選單檔案" + +#: ../util/test-menu-spec.c:34 +msgid "Monitor for menu changes" +msgstr "監視選單變更" + +#: ../util/test-menu-spec.c:35 +msgid "Include <Exclude>d entries" +msgstr "包含 <不包括> 條目" + +#: ../util/test-menu-spec.c:36 +msgid "Include NoDisplay=true entries" +msgstr "包含不顯示=正確條目" + +#: ../util/test-menu-spec.c:91 +msgid "Invalid desktop file ID" +msgstr "無效的桌面檔案 ID" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[無效的檔案名稱]" + +#: ../util/test-menu-spec.c:93 +msgid " <excluded>" +msgstr "<不包括>" + +#: ../util/test-menu-spec.c:164 +#, c-format +msgid "" +"\n" +"\n" +"\n" +"==== Menu changed, reloading ====\n" +"\n" +"\n" +msgstr "" +"\n" +"\n" +"\n" +"==== 選單已變更,重新載入中 ====\n" +"\n" +"\n" + +#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211 +msgid "Menu tree is empty" +msgstr "選單樹是空白的" + +#: ../util/test-menu-spec.c:189 +msgid "- test MATE's implementation of the Desktop Menu Specification" +msgstr "- 測試 MATE 在桌面選單規格的實現" + +#~ msgid "Universal access related preferences" +#~ msgstr "普及近用相關偏好設定" + +#~ msgid "Personal preferences and settings" +#~ msgstr "個人偏好及設定" + +#~ msgid "Accessibility" +#~ msgstr "無障礙環境" + +#~ msgid "Accessibility Settings" +#~ msgstr "無障礙環境設定" + +#~ msgid "Desktop" +#~ msgstr "桌面" diff --git a/py-compile b/py-compile new file mode 100755 index 0000000..3f9d05b --- /dev/null +++ b/py-compile @@ -0,0 +1,146 @@ +#!/bin/sh +# py-compile - Compile a Python program + +scriptversion=2009-04-28.21; # UTC + +# Copyright (C) 2000, 2001, 2003, 2004, 2005, 2008, 2009 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 <[email protected]> or send patches to +# <[email protected]>. + +if [ -z "$PYTHON" ]; then + PYTHON=python +fi + +basedir= +destdir= +files= +while test $# -ne 0; do + case "$1" in + --basedir) + basedir=$2 + if test -z "$basedir"; then + echo "$0: Missing argument to --basedir." 1>&2 + exit 1 + fi + shift + ;; + --destdir) + destdir=$2 + if test -z "$destdir"; then + echo "$0: Missing argument to --destdir." 1>&2 + exit 1 + fi + shift + ;; + -h|--h*) + 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 <[email protected]>. +EOF + exit $? + ;; + -v|--v*) + echo "py-compile $scriptversion" + exit $? + ;; + *) + files="$files $1" + ;; + esac + shift +done + +if test -z "$files"; then + echo "$0: No files given. Try \`$0 --help' for more information." 1>&2 + exit 1 +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 + +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() + 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 + +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() + 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/python/Makefile.am b/python/Makefile.am new file mode 100644 index 0000000..0f55476 --- /dev/null +++ b/python/Makefile.am @@ -0,0 +1,20 @@ +AM_CPPFLAGS = \ + $(GLIB_CFLAGS) \ + $(PYTHON_INCLUDES) \ + -I$(srcdir)/../libmenu \ + -DMATEMENU_I_KNOW_THIS_IS_UNSTABLE \ + $(DISABLE_DEPRECATED_CFLAGS) \ + $(DEBUG_CFLAGS) + +AM_CFLAGS = \ + $(WARN_CFLAGS) \ + $(NO_STRICT_ALIASING_CFLAGS) + +matemenudir = $(pyexecdir) +matemenu_LTLIBRARIES = matemenu.la + +matemenu_la_SOURCES = matemenu.c +matemenu_la_LDFLAGS = -module -avoid-version -fPIC -export-symbols-regex initmatemenu +matemenu_la_LIBADD = $(GLIB_LIBS) $(PYTHON_LIBS) $(top_builddir)/libmenu/libmate-menu.la + +-include $(top_srcdir)/git.mk diff --git a/python/matemenu.c b/python/matemenu.c new file mode 100644 index 0000000..596c106 --- /dev/null +++ b/python/matemenu.c @@ -0,0 +1,1948 @@ +/* + * Copyright (C) 2005 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include <config.h> + +#include <Python.h> +#include <matemenu-tree.h> + +typedef struct { + PyObject_HEAD + MateMenuTree* tree; + GSList* callbacks; +} PyMateMenuTree; + +typedef struct { + PyObject* tree; + PyObject* callback; + PyObject* user_data; +} PyMateMenuTreeCallback; + +typedef struct { + PyObject_HEAD + MateMenuTreeItem* item; +} PyMateMenuTreeItem; + +typedef PyMateMenuTreeItem PyMateMenuTreeDirectory; +typedef PyMateMenuTreeItem PyMateMenuTreeEntry; +typedef PyMateMenuTreeItem PyMateMenuTreeSeparator; +typedef PyMateMenuTreeItem PyMateMenuTreeHeader; +typedef PyMateMenuTreeItem PyMateMenuTreeAlias; + +static PyMateMenuTree* pymatemenu_tree_wrap(MateMenuTree* tree); +static PyMateMenuTreeDirectory* pymatemenu_tree_directory_wrap(MateMenuTreeDirectory* directory); +static PyMateMenuTreeEntry* pymatemenu_tree_entry_wrap(MateMenuTreeEntry* entry); +static PyMateMenuTreeSeparator* pymatemenu_tree_separator_wrap(MateMenuTreeSeparator* separator); +static PyMateMenuTreeHeader* pymatemenu_tree_header_wrap(MateMenuTreeHeader* header); +static PyMateMenuTreeAlias* pymatemenu_tree_alias_wrap(MateMenuTreeAlias* alias); + +static inline PyObject* lookup_item_type_str(const char* item_type_str) +{ + PyObject* module; + + module = PyDict_GetItemString(PyImport_GetModuleDict(), "matemenu"); + + return PyDict_GetItemString(PyModule_GetDict(module), item_type_str); +} + +static void pymatemenu_tree_item_dealloc(PyMateMenuTreeItem* self) +{ + if (self->item != NULL) + { + matemenu_tree_item_set_user_data(self->item, NULL, NULL); + matemenu_tree_item_unref(self->item); + self->item = NULL; + } + + PyObject_DEL (self); +} + +static PyObject* pymatemenu_tree_item_get_type(PyObject* self, PyObject* args) +{ + PyMateMenuTreeItem* item; + PyObject* retval; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Item.get_type")) + { + return NULL; + } + } + + item = (PyMateMenuTreeItem*) self; + + switch (matemenu_tree_item_get_type(item->item)) + { + case MATEMENU_TREE_ITEM_DIRECTORY: + retval = lookup_item_type_str("TYPE_DIRECTORY"); + break; + + case MATEMENU_TREE_ITEM_ENTRY: + retval = lookup_item_type_str("TYPE_ENTRY"); + break; + + case MATEMENU_TREE_ITEM_SEPARATOR: + retval = lookup_item_type_str("TYPE_SEPARATOR"); + break; + + case MATEMENU_TREE_ITEM_HEADER: + retval = lookup_item_type_str("TYPE_HEADER"); + break; + + case MATEMENU_TREE_ITEM_ALIAS: + retval = lookup_item_type_str("TYPE_ALIAS"); + break; + + default: + g_assert_not_reached(); + break; + } + + Py_INCREF(retval); + + return retval; +} + +static PyObject* pymatemenu_tree_item_get_parent(PyObject* self, PyObject* args) +{ + PyMateMenuTreeItem* item; + MateMenuTreeDirectory* parent; + PyMateMenuTreeDirectory* retval; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Item.get_parent")) + { + return NULL; + } + } + + item = (PyMateMenuTreeItem*) self; + + parent = matemenu_tree_item_get_parent(item->item); + + if (parent == NULL) + { + Py_INCREF(Py_None); + + return Py_None; + } + + retval = pymatemenu_tree_directory_wrap(parent); + + matemenu_tree_item_unref(parent); + + return (PyObject*) retval; +} + +static struct PyMethodDef pymatemenu_tree_item_methods[] = { + {"get_type", pymatemenu_tree_item_get_type, METH_VARARGS}, + {"get_parent", pymatemenu_tree_item_get_parent, METH_VARARGS}, + {NULL, NULL, 0} +}; + +static PyTypeObject PyMateMenuTreeItem_Type = { + PyObject_HEAD_INIT(NULL) + 0, /* ob_size */ + "matemenu.Item", /* tp_name */ + sizeof(PyMateMenuTreeItem), /* tp_basicsize */ + 0, /* tp_itemsize */ + (destructor) pymatemenu_tree_item_dealloc, /* tp_dealloc */ + (printfunc) 0, /* tp_print */ + (getattrfunc) 0, /* tp_getattr */ + (setattrfunc) 0, /* tp_setattr */ + (cmpfunc) 0, /* tp_compare */ + (reprfunc) 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + (hashfunc) 0, /* tp_hash */ + (ternaryfunc) 0, /* tp_call */ + (reprfunc) 0, /* tp_str */ + (getattrofunc) 0, /* tp_getattro */ + (setattrofunc) 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */ + NULL, /* Documentation string */ + (traverseproc) 0, /* tp_traverse */ + (inquiry) 0, /* tp_clear */ + (richcmpfunc) 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + (getiterfunc) 0, /* tp_iter */ + (iternextfunc) 0, /* tp_iternext */ + pymatemenu_tree_item_methods, /* tp_methods */ + 0, /* tp_members */ + 0, /* tp_getset */ + (PyTypeObject*) 0, /* tp_base */ + (PyObject*) 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + (initproc) 0, /* tp_init */ + 0, /* tp_alloc */ + 0, /* tp_new */ + 0, /* tp_free */ + (inquiry) 0, /* tp_is_gc */ + (PyObject*) 0, /* tp_bases */ +}; + +static PyObject* pymatemenu_tree_directory_get_contents(PyObject* self, PyObject* args) +{ + PyMateMenuTreeDirectory* directory; + PyObject* retval; + GSList* contents; + GSList* tmp; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Directory.get_contents")) + { + return NULL; + } + } + + directory = (PyMateMenuTreeDirectory*) self; + + retval = PyList_New(0); + + contents = matemenu_tree_directory_get_contents(MATEMENU_TREE_DIRECTORY(directory->item)); + + tmp = contents; + + while (tmp != NULL) + { + MateMenuTreeItem* item = tmp->data; + PyObject* pyitem; + + switch (matemenu_tree_item_get_type(item)) + { + case MATEMENU_TREE_ITEM_DIRECTORY: + pyitem = (PyObject*) pymatemenu_tree_directory_wrap(MATEMENU_TREE_DIRECTORY(item)); + break; + + case MATEMENU_TREE_ITEM_ENTRY: + pyitem = (PyObject*) pymatemenu_tree_entry_wrap(MATEMENU_TREE_ENTRY(item)); + break; + + case MATEMENU_TREE_ITEM_SEPARATOR: + pyitem = (PyObject*) pymatemenu_tree_separator_wrap(MATEMENU_TREE_SEPARATOR(item)); + break; + + case MATEMENU_TREE_ITEM_HEADER: + pyitem = (PyObject*) pymatemenu_tree_header_wrap(MATEMENU_TREE_HEADER(item)); + break; + + case MATEMENU_TREE_ITEM_ALIAS: + pyitem = (PyObject*) pymatemenu_tree_alias_wrap(MATEMENU_TREE_ALIAS(item)); + break; + + default: + g_assert_not_reached(); + break; + } + + PyList_Append(retval, pyitem); + Py_DECREF(pyitem); + + matemenu_tree_item_unref(item); + + tmp = tmp->next; + } + + g_slist_free(contents); + + return retval; +} + +static PyObject* pymatemenu_tree_directory_get_name(PyObject* self, PyObject* args) +{ + PyMateMenuTreeDirectory* directory; + const char* name; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Directory.get_name")) + { + return NULL; + } + } + + directory = (PyMateMenuTreeDirectory*) self; + + name = matemenu_tree_directory_get_name(MATEMENU_TREE_DIRECTORY(directory->item)); + + if (name == NULL) + { + Py_INCREF(Py_None); + return Py_None; + } + + return PyString_FromString(name); +} + +static PyObject* pymatemenu_tree_directory_get_comment(PyObject* self, PyObject* args) +{ + PyMateMenuTreeDirectory* directory; + const char* comment; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Directory.get_comment")) + { + return NULL; + } + } + + directory = (PyMateMenuTreeDirectory*) self; + + comment = matemenu_tree_directory_get_comment(MATEMENU_TREE_DIRECTORY(directory->item)); + + if (comment == NULL) + { + Py_INCREF(Py_None); + return Py_None; + } + + return PyString_FromString(comment); +} + +static PyObject* pymatemenu_tree_directory_get_icon(PyObject* self, PyObject* args) +{ + PyMateMenuTreeDirectory* directory; + const char* icon; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Directory.get_icon")) + { + return NULL; + } + } + + directory = (PyMateMenuTreeDirectory*) self; + + icon = matemenu_tree_directory_get_icon(MATEMENU_TREE_DIRECTORY(directory->item)); + + if (icon == NULL) + { + Py_INCREF(Py_None); + return Py_None; + } + + return PyString_FromString(icon); +} + +static PyObject* pymatemenu_tree_directory_get_desktop_file_path(PyObject* self, PyObject* args) +{ + PyMateMenuTreeDirectory* directory; + const char* path; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Directory.get_desktop_file_path")) + { + return NULL; + } + } + + directory = (PyMateMenuTreeDirectory*) self; + + path = matemenu_tree_directory_get_desktop_file_path(MATEMENU_TREE_DIRECTORY(directory->item)); + + if (path == NULL) + { + Py_INCREF(Py_None); + return Py_None; + } + + return PyString_FromString(path); +} + +static PyObject* pymatemenu_tree_directory_get_menu_id(PyObject* self, PyObject* args) +{ + PyMateMenuTreeDirectory* directory; + const char* menu_id; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Directory.get_menu_id")) + { + return NULL; + } + } + + directory = (PyMateMenuTreeDirectory*) self; + + menu_id = matemenu_tree_directory_get_menu_id(MATEMENU_TREE_DIRECTORY(directory->item)); + + if (menu_id == NULL) + { + Py_INCREF(Py_None); + return Py_None; + } + + return PyString_FromString(menu_id); +} + +static PyObject* pymatemenu_tree_directory_get_tree(PyObject* self, PyObject* args) +{ + PyMateMenuTreeDirectory* directory; + MateMenuTree* tree; + PyMateMenuTree* retval; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Item.get_tree")) + { + return NULL; + } + } + + directory = (PyMateMenuTreeDirectory*) self; + + tree = matemenu_tree_directory_get_tree(MATEMENU_TREE_DIRECTORY(directory->item)); + + if (tree == NULL) + { + Py_INCREF(Py_None); + return Py_None; + } + + retval = pymatemenu_tree_wrap(tree); + + matemenu_tree_unref(tree); + + return (PyObject*) retval; +} + +static PyObject* pymatemenu_tree_directory_make_path(PyObject* self, PyObject* args) +{ + PyMateMenuTreeDirectory* directory; + PyMateMenuTreeEntry* entry; + PyObject* retval; + char* path; + + if (!PyArg_ParseTuple(args, "O:matemenu.Directory.make_path", &entry)) + { + return NULL; + } + + directory = (PyMateMenuTreeDirectory*) self; + + path = matemenu_tree_directory_make_path(MATEMENU_TREE_DIRECTORY(directory->item), MATEMENU_TREE_ENTRY(entry->item)); + + if (path == NULL) + { + Py_INCREF(Py_None); + return Py_None; + } + + retval = PyString_FromString(path); + + g_free(path); + + return retval; +} + +static PyObject* pymatemenu_tree_directory_getattro(PyMateMenuTreeDirectory* self, PyObject* py_attr) +{ + if (PyString_Check(py_attr)) + { + char* attr; + + attr = PyString_AsString(py_attr); + + if (!strcmp(attr, "__members__")) + { + return Py_BuildValue("[sssssssss]", + "type", + "parent", + "contents", + "name", + "comment", + "icon", + "desktop_file_path", + "menu_id", + "tree"); + } + else if (!strcmp(attr, "type")) + { + return pymatemenu_tree_item_get_type((PyObject*) self, NULL); + } + else if (!strcmp(attr, "parent")) + { + return pymatemenu_tree_item_get_parent((PyObject*) self, NULL); + } + else if (!strcmp(attr, "contents")) + { + return pymatemenu_tree_directory_get_contents((PyObject*) self, NULL); + } + else if (!strcmp(attr, "name")) + { + return pymatemenu_tree_directory_get_name((PyObject*) self, NULL); + } + else if (!strcmp(attr, "comment")) + { + return pymatemenu_tree_directory_get_comment((PyObject*) self, NULL); + } + else if (!strcmp(attr, "icon")) + { + return pymatemenu_tree_directory_get_icon((PyObject*) self, NULL); + } + else if (!strcmp(attr, "desktop_file_path")) + { + return pymatemenu_tree_directory_get_desktop_file_path((PyObject*) self, NULL); + } + else if (!strcmp(attr, "menu_id")) + { + return pymatemenu_tree_directory_get_menu_id((PyObject*) self, NULL); + } + else if (!strcmp(attr, "tree")) + { + return pymatemenu_tree_directory_get_tree((PyObject*) self, NULL); + } + } + + return PyObject_GenericGetAttr((PyObject*) self, py_attr); +} + +static struct PyMethodDef pymatemenu_tree_directory_methods[] = { + {"get_contents", pymatemenu_tree_directory_get_contents, METH_VARARGS}, + {"get_name", pymatemenu_tree_directory_get_name, METH_VARARGS}, + {"get_comment", pymatemenu_tree_directory_get_comment, METH_VARARGS}, + {"get_icon", pymatemenu_tree_directory_get_icon, METH_VARARGS}, + {"get_desktop_file_path", pymatemenu_tree_directory_get_desktop_file_path, METH_VARARGS}, + {"get_menu_id", pymatemenu_tree_directory_get_menu_id, METH_VARARGS}, + {"get_tree", pymatemenu_tree_directory_get_tree, METH_VARARGS}, + {"make_path", pymatemenu_tree_directory_make_path, METH_VARARGS}, + {NULL, NULL, 0} +}; + +static PyTypeObject PyMateMenuTreeDirectory_Type = { + PyObject_HEAD_INIT(NULL) + 0, /* ob_size */ + "matemenu.Directory", /* tp_name */ + sizeof(PyMateMenuTreeDirectory), /* tp_basicsize */ + 0, /* tp_itemsize */ + (destructor) pymatemenu_tree_item_dealloc, /* tp_dealloc */ + (printfunc) 0, /* tp_print */ + (getattrfunc) 0, /* tp_getattr */ + (setattrfunc) 0, /* tp_setattr */ + (cmpfunc) 0, /* tp_compare */ + (reprfunc) 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + (hashfunc) 0, /* tp_hash */ + (ternaryfunc) 0, /* tp_call */ + (reprfunc) 0, /* tp_str */ + (getattrofunc) pymatemenu_tree_directory_getattro, /* tp_getattro */ + (setattrofunc) 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT, /* tp_flags */ + NULL, /* Documentation string */ + (traverseproc) 0, /* tp_traverse */ + (inquiry) 0, /* tp_clear */ + (richcmpfunc) 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + (getiterfunc) 0, /* tp_iter */ + (iternextfunc) 0, /* tp_iternext */ + pymatemenu_tree_directory_methods, /* tp_methods */ + 0, /* tp_members */ + 0, /* tp_getset */ + (PyTypeObject*) 0, /* tp_base */ + (PyObject*) 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + (initproc) 0, /* tp_init */ + 0, /* tp_alloc */ + 0, /* tp_new */ + 0, /* tp_free */ + (inquiry) 0, /* tp_is_gc */ + (PyObject*) 0, /* tp_bases */ +}; + +static PyMateMenuTreeDirectory* pymatemenu_tree_directory_wrap(MateMenuTreeDirectory* directory) +{ + PyMateMenuTreeDirectory* retval; + + if ((retval = matemenu_tree_item_get_user_data(MATEMENU_TREE_ITEM(directory))) != NULL) + { + Py_INCREF(retval); + return retval; + } + + if (!(retval = (PyMateMenuTreeDirectory*) PyObject_NEW(PyMateMenuTreeDirectory, &PyMateMenuTreeDirectory_Type))) + { + return NULL; + } + + retval->item = matemenu_tree_item_ref(directory); + + matemenu_tree_item_set_user_data(MATEMENU_TREE_ITEM(directory), retval, NULL); + + return retval; +} + +static PyObject* pymatemenu_tree_entry_get_name(PyObject* self, PyObject* args) +{ + PyMateMenuTreeEntry* entry; + const char* name; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Entry.get_name")) + { + return NULL; + } + } + + entry = (PyMateMenuTreeEntry*) self; + + name = matemenu_tree_entry_get_name(MATEMENU_TREE_ENTRY(entry->item)); + + if (name == NULL) + { + Py_INCREF(Py_None); + return Py_None; + } + + return PyString_FromString(name); +} + +static PyObject* pymatemenu_tree_entry_get_generic_name(PyObject* self, PyObject* args) +{ + PyMateMenuTreeEntry* entry; + const char* generic_name; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Entry.get_generic_name")) + { + return NULL; + } + } + + entry = (PyMateMenuTreeEntry*) self; + + generic_name = matemenu_tree_entry_get_generic_name(MATEMENU_TREE_ENTRY(entry->item)); + + if (generic_name == NULL) + { + Py_INCREF(Py_None); + return Py_None; + } + + return PyString_FromString(generic_name); +} + +static PyObject* pymatemenu_tree_entry_get_display_name(PyObject* self, PyObject* args) +{ + PyMateMenuTreeEntry* entry; + const char* display_name; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Entry.get_display_name")) + { + return NULL; + } + } + + entry = (PyMateMenuTreeEntry*) self; + + display_name = matemenu_tree_entry_get_display_name(MATEMENU_TREE_ENTRY(entry->item)); + + if (display_name == NULL) + { + Py_INCREF(Py_None); + return Py_None; + } + + return PyString_FromString(display_name); +} + +static PyObject* pymatemenu_tree_entry_get_comment(PyObject* self, PyObject* args) +{ + PyMateMenuTreeEntry* entry; + const char* comment; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Entry.get_comment")) + { + return NULL; + } + } + + entry = (PyMateMenuTreeEntry*) self; + + comment = matemenu_tree_entry_get_comment(MATEMENU_TREE_ENTRY(entry->item)); + + if (comment == NULL) + { + Py_INCREF(Py_None); + return Py_None; + } + + return PyString_FromString(comment); +} + +static PyObject* pymatemenu_tree_entry_get_icon(PyObject* self, PyObject* args) +{ + PyMateMenuTreeEntry* entry; + const char* icon; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Entry.get_icon")) + { + return NULL; + } + } + + entry = (PyMateMenuTreeEntry*) self; + + icon = matemenu_tree_entry_get_icon(MATEMENU_TREE_ENTRY(entry->item)); + + if (icon == NULL) + { + Py_INCREF(Py_None); + return Py_None; + } + + return PyString_FromString(icon); +} + +static PyObject* pymatemenu_tree_entry_get_exec(PyObject* self, PyObject* args) +{ + PyMateMenuTreeEntry* entry; + const char* exec; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Entry.get_exec")) + { + return NULL; + } + } + + entry = (PyMateMenuTreeEntry*) self; + + exec = matemenu_tree_entry_get_exec(MATEMENU_TREE_ENTRY(entry->item)); + + if (exec == NULL) + { + Py_INCREF(Py_None); + return Py_None; + } + + return PyString_FromString(exec); +} + +static PyObject* pymatemenu_tree_entry_get_launch_in_terminal(PyObject* self, PyObject* args) +{ + PyMateMenuTreeEntry* entry; + PyObject* retval; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Entry.get_launch_in_terminal")) + { + return NULL; + } + } + + entry = (PyMateMenuTreeEntry*) self; + + if (matemenu_tree_entry_get_launch_in_terminal(MATEMENU_TREE_ENTRY(entry->item))) + { + retval = Py_True; + } + else + { + retval = Py_False; + } + + Py_INCREF(retval); + + return retval; +} + +static PyObject* pymatemenu_tree_entry_get_desktop_file_path(PyObject* self, PyObject* args) +{ + PyMateMenuTreeEntry* entry; + const char* desktop_file_path; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Entry.get_desktop_file_path")) + { + return NULL; + } + } + + entry = (PyMateMenuTreeEntry*) self; + + desktop_file_path = matemenu_tree_entry_get_desktop_file_path(MATEMENU_TREE_ENTRY(entry->item)); + + if (desktop_file_path == NULL) + { + Py_INCREF(Py_None); + return Py_None; + } + + return PyString_FromString(desktop_file_path); +} + +static PyObject* pymatemenu_tree_entry_get_desktop_file_id(PyObject* self, PyObject* args) +{ + PyMateMenuTreeEntry* entry; + const char* desktop_file_id; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Entry.get_desktop_file_id")) + { + return NULL; + } + } + + entry = (PyMateMenuTreeEntry*) self; + + desktop_file_id = matemenu_tree_entry_get_desktop_file_id(MATEMENU_TREE_ENTRY(entry->item)); + + if (desktop_file_id == NULL) + { + Py_INCREF(Py_None); + return Py_None; + } + + return PyString_FromString(desktop_file_id); +} + +static PyObject* pymatemenu_tree_entry_get_is_excluded(PyObject* self, PyObject* args) +{ + PyMateMenuTreeEntry* entry; + PyObject* retval; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Entry.get_is_excluded")) + { + return NULL; + } + } + + entry = (PyMateMenuTreeEntry*) self; + + retval = matemenu_tree_entry_get_is_excluded(MATEMENU_TREE_ENTRY(entry->item)) ? Py_True : Py_False; + Py_INCREF(retval); + + return retval; +} + +static PyObject* pymatemenu_tree_entry_get_is_nodisplay(PyObject* self, PyObject* args) +{ + PyMateMenuTreeEntry* entry; + PyObject* retval; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Entry.get_is_nodisplay")) + { + return NULL; + } + } + + entry = (PyMateMenuTreeEntry*) self; + + if (matemenu_tree_entry_get_is_nodisplay(MATEMENU_TREE_ENTRY(entry->item))) + { + retval = Py_True; + } + else + { + retval = Py_False; + } + + Py_INCREF(retval); + + return retval; +} + +static PyObject* pymatemenu_tree_entry_getattro(PyMateMenuTreeEntry* self, PyObject* py_attr) +{ + if (PyString_Check(py_attr)) + { + char* attr; + + attr = PyString_AsString(py_attr); + + if (!strcmp(attr, "__members__")) + { + return Py_BuildValue("[sssssssssss]", + "type", + "parent", + "name", + "comment", + "icon", + "exec_info", + "launch_in_terminal", + "desktop_file_path", + "desktop_file_id", + "is_excluded", + "is_nodisplay"); + } + else if (!strcmp(attr, "type")) + { + return pymatemenu_tree_item_get_type((PyObject*) self, NULL); + } + else if (!strcmp(attr, "parent")) + { + return pymatemenu_tree_item_get_parent((PyObject*) self, NULL); + } + else if (!strcmp(attr, "name")) + { + return pymatemenu_tree_entry_get_name((PyObject*) self, NULL); + } + else if (!strcmp(attr, "generic_name")) + { + return pymatemenu_tree_entry_get_generic_name((PyObject*) self, NULL); + } + else if (!strcmp(attr, "display_name")) + { + return pymatemenu_tree_entry_get_display_name((PyObject*) self, NULL); + } + else if (!strcmp(attr, "comment")) + { + return pymatemenu_tree_entry_get_comment((PyObject*) self, NULL); + } + else if (!strcmp(attr, "icon")) + { + return pymatemenu_tree_entry_get_icon((PyObject*) self, NULL); + } + else if (!strcmp(attr, "exec_info")) + { + return pymatemenu_tree_entry_get_exec((PyObject*) self, NULL); + } + else if (!strcmp(attr, "launch_in_terminal")) + { + return pymatemenu_tree_entry_get_launch_in_terminal((PyObject*) self, NULL); + } + else if (!strcmp(attr, "desktop_file_path")) + { + return pymatemenu_tree_entry_get_desktop_file_path((PyObject*) self, NULL); + } + else if (!strcmp(attr, "desktop_file_id")) + { + return pymatemenu_tree_entry_get_desktop_file_id((PyObject*) self, NULL); + } + else if (!strcmp(attr, "is_excluded")) + { + return pymatemenu_tree_entry_get_is_excluded((PyObject*) self, NULL); + } + else if (!strcmp(attr, "is_nodisplay")) + { + return pymatemenu_tree_entry_get_is_nodisplay((PyObject*) self, NULL); + } + } + + return PyObject_GenericGetAttr((PyObject*) self, py_attr); +} + +static struct PyMethodDef pymatemenu_tree_entry_methods[] = { + {"get_name", pymatemenu_tree_entry_get_name, METH_VARARGS}, + {"get_generic_name", pymatemenu_tree_entry_get_generic_name, METH_VARARGS}, + {"get_display_name", pymatemenu_tree_entry_get_display_name, METH_VARARGS}, + {"get_comment", pymatemenu_tree_entry_get_comment, METH_VARARGS}, + {"get_icon", pymatemenu_tree_entry_get_icon, METH_VARARGS}, + {"get_exec", pymatemenu_tree_entry_get_exec, METH_VARARGS}, + {"get_launch_in_terminal", pymatemenu_tree_entry_get_launch_in_terminal, METH_VARARGS}, + {"get_desktop_file_path", pymatemenu_tree_entry_get_desktop_file_path, METH_VARARGS}, + {"get_desktop_file_id", pymatemenu_tree_entry_get_desktop_file_id, METH_VARARGS}, + {"get_is_excluded", pymatemenu_tree_entry_get_is_excluded, METH_VARARGS}, + {"get_is_nodisplay", pymatemenu_tree_entry_get_is_nodisplay, METH_VARARGS}, + {NULL, NULL, 0} +}; + +static PyTypeObject PyMateMenuTreeEntry_Type = { + PyObject_HEAD_INIT(NULL) + 0, /* ob_size */ + "matemenu.Entry", /* tp_name */ + sizeof(PyMateMenuTreeEntry), /* tp_basicsize */ + 0, /* tp_itemsize */ + (destructor) pymatemenu_tree_item_dealloc, /* tp_dealloc */ + (printfunc) 0, /* tp_print */ + (getattrfunc) 0, /* tp_getattr */ + (setattrfunc) 0, /* tp_setattr */ + (cmpfunc) 0, /* tp_compare */ + (reprfunc) 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + (hashfunc) 0, /* tp_hash */ + (ternaryfunc) 0, /* tp_call */ + (reprfunc) 0, /* tp_str */ + (getattrofunc) pymatemenu_tree_entry_getattro, /* tp_getattro */ + (setattrofunc) 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT, /* tp_flags */ + NULL, /* Documentation string */ + (traverseproc) 0, /* tp_traverse */ + (inquiry) 0, /* tp_clear */ + (richcmpfunc) 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + (getiterfunc) 0, /* tp_iter */ + (iternextfunc) 0, /* tp_iternext */ + pymatemenu_tree_entry_methods, /* tp_methods */ + 0, /* tp_members */ + 0, /* tp_getset */ + (PyTypeObject*) 0, /* tp_base */ + (PyObject*) 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + (initproc) 0, /* tp_init */ + 0, /* tp_alloc */ + 0, /* tp_new */ + 0, /* tp_free */ + (inquiry) 0, /* tp_is_gc */ + (PyObject*) 0, /* tp_bases */ +}; + +static PyMateMenuTreeEntry* pymatemenu_tree_entry_wrap(MateMenuTreeEntry* entry) +{ + PyMateMenuTreeEntry* retval; + + if ((retval = matemenu_tree_item_get_user_data(MATEMENU_TREE_ITEM(entry))) != NULL) + { + Py_INCREF(retval); + return retval; + } + + if (!(retval = (PyMateMenuTreeEntry*) PyObject_NEW(PyMateMenuTreeEntry, &PyMateMenuTreeEntry_Type))) + { + return NULL; + } + + retval->item = matemenu_tree_item_ref(entry); + + matemenu_tree_item_set_user_data(MATEMENU_TREE_ITEM(entry), retval, NULL); + + return retval; +} + +static PyTypeObject PyMateMenuTreeSeparator_Type = { + PyObject_HEAD_INIT(NULL) + 0, /* ob_size */ + "matemenu.Separator", /* tp_name */ + sizeof(PyMateMenuTreeSeparator), /* tp_basicsize */ + 0, /* tp_itemsize */ + (destructor) pymatemenu_tree_item_dealloc, /* tp_dealloc */ + (printfunc) 0, /* tp_print */ + (getattrfunc) 0, /* tp_getattr */ + (setattrfunc) 0, /* tp_setattr */ + (cmpfunc) 0, /* tp_compare */ + (reprfunc) 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + (hashfunc) 0, /* tp_hash */ + (ternaryfunc) 0, /* tp_call */ + (reprfunc) 0, /* tp_str */ + (getattrofunc) 0, /* tp_getattro */ + (setattrofunc) 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT, /* tp_flags */ + NULL, /* Documentation string */ + (traverseproc) 0, /* tp_traverse */ + (inquiry) 0, /* tp_clear */ + (richcmpfunc) 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + (getiterfunc) 0, /* tp_iter */ + (iternextfunc) 0, /* tp_iternext */ + NULL, /* tp_methods */ + 0, /* tp_members */ + 0, /* tp_getset */ + (PyTypeObject*) 0, /* tp_base */ + (PyObject*) 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + (initproc) 0, /* tp_init */ + 0, /* tp_alloc */ + 0, /* tp_new */ + 0, /* tp_free */ + (inquiry) 0, /* tp_is_gc */ + (PyObject*) 0, /* tp_bases */ +}; + +static PyMateMenuTreeSeparator* pymatemenu_tree_separator_wrap(MateMenuTreeSeparator* separator) +{ + PyMateMenuTreeSeparator* retval; + + if ((retval = matemenu_tree_item_get_user_data(MATEMENU_TREE_ITEM(separator))) != NULL) + { + Py_INCREF(retval); + return retval; + } + + if (!(retval = (PyMateMenuTreeSeparator*) PyObject_NEW(PyMateMenuTreeSeparator, &PyMateMenuTreeSeparator_Type))) + { + return NULL; + } + + retval->item = matemenu_tree_item_ref(separator); + + matemenu_tree_item_set_user_data(MATEMENU_TREE_ITEM(separator), retval, NULL); + + return retval; +} + +static PyObject* pymatemenu_tree_header_get_directory(PyObject* self, PyObject* args) +{ + PyMateMenuTreeHeader* header; + MateMenuTreeDirectory* directory; + PyMateMenuTreeDirectory* retval; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Header.get_directory")) + { + return NULL; + } + } + + header = (PyMateMenuTreeHeader*) self; + + directory = matemenu_tree_header_get_directory(MATEMENU_TREE_HEADER(header->item)); + + if (directory == NULL) + { + Py_INCREF(Py_None); + return Py_None; + } + + retval = pymatemenu_tree_directory_wrap(directory); + + matemenu_tree_item_unref(directory); + + return (PyObject*) retval; +} + +static PyObject* pymatemenu_tree_header_getattro(PyMateMenuTreeHeader* self, PyObject* py_attr) +{ + if (PyString_Check(py_attr)) + { + char* attr; + + attr = PyString_AsString(py_attr); + + if (!strcmp(attr, "__members__")) + { + return Py_BuildValue("[sss]", + "type", + "parent", + "directory"); + } + else if (!strcmp(attr, "type")) + { + return pymatemenu_tree_item_get_type((PyObject*) self, NULL); + } + else if (!strcmp(attr, "parent")) + { + return pymatemenu_tree_item_get_parent((PyObject*) self, NULL); + } + else if (!strcmp(attr, "directory")) + { + return pymatemenu_tree_header_get_directory((PyObject*) self, NULL); + } + } + + return PyObject_GenericGetAttr((PyObject*) self, py_attr); +} + +static struct PyMethodDef pymatemenu_tree_header_methods[] = { + {"get_directory", pymatemenu_tree_header_get_directory, METH_VARARGS}, + {NULL, NULL, 0} +}; + +static PyTypeObject PyMateMenuTreeHeader_Type = { + PyObject_HEAD_INIT(NULL) + 0, /* ob_size */ + "matemenu.Header", /* tp_name */ + sizeof(PyMateMenuTreeHeader), /* tp_basicsize */ + 0, /* tp_itemsize */ + (destructor) pymatemenu_tree_item_dealloc, /* tp_dealloc */ + (printfunc) 0, /* tp_print */ + (getattrfunc) 0, /* tp_getattr */ + (setattrfunc) 0, /* tp_setattr */ + (cmpfunc) 0, /* tp_compare */ + (reprfunc) 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + (hashfunc) 0, /* tp_hash */ + (ternaryfunc) 0, /* tp_call */ + (reprfunc) 0, /* tp_str */ + (getattrofunc) pymatemenu_tree_header_getattro, /* tp_getattro */ + (setattrofunc) 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT, /* tp_flags */ + NULL, /* Documentation string */ + (traverseproc) 0, /* tp_traverse */ + (inquiry) 0, /* tp_clear */ + (richcmpfunc) 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + (getiterfunc) 0, /* tp_iter */ + (iternextfunc) 0, /* tp_iternext */ + pymatemenu_tree_header_methods, /* tp_methods */ + 0, /* tp_members */ + 0, /* tp_getset */ + (PyTypeObject*) 0, /* tp_base */ + (PyObject*) 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + (initproc) 0, /* tp_init */ + 0, /* tp_alloc */ + 0, /* tp_new */ + 0, /* tp_free */ + (inquiry) 0, /* tp_is_gc */ + (PyObject*) 0, /* tp_bases */ +}; + +static PyMateMenuTreeHeader* pymatemenu_tree_header_wrap(MateMenuTreeHeader* header) +{ + PyMateMenuTreeHeader* retval; + + if ((retval = matemenu_tree_item_get_user_data(MATEMENU_TREE_ITEM(header))) != NULL) + { + Py_INCREF(retval); + return retval; + } + + if (!(retval = (PyMateMenuTreeHeader*) PyObject_NEW(PyMateMenuTreeHeader, &PyMateMenuTreeHeader_Type))) + { + return NULL; + } + + retval->item = matemenu_tree_item_ref(header); + + matemenu_tree_item_set_user_data(MATEMENU_TREE_ITEM(header), retval, NULL); + + return retval; +} + +static PyObject* pymatemenu_tree_alias_get_directory(PyObject*self, PyObject* args) +{ + PyMateMenuTreeAlias* alias; + MateMenuTreeDirectory* directory; + PyMateMenuTreeDirectory* retval; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Alias.get_directory")) + { + return NULL; + } + } + + alias = (PyMateMenuTreeAlias*) self; + + directory = matemenu_tree_alias_get_directory(MATEMENU_TREE_ALIAS(alias->item)); + + if (directory == NULL) + { + Py_INCREF(Py_None); + return Py_None; + } + + retval = pymatemenu_tree_directory_wrap(directory); + + matemenu_tree_item_unref(directory); + + return (PyObject*) retval; +} + +static PyObject* pymatemenu_tree_alias_get_item(PyObject* self, PyObject* args) +{ + PyMateMenuTreeAlias* alias; + MateMenuTreeItem* item; + PyObject* retval; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Alias.get_item")) + { + return NULL; + } + } + + alias = (PyMateMenuTreeAlias*) self; + + item = matemenu_tree_alias_get_item(MATEMENU_TREE_ALIAS(alias->item)); + + if (item == NULL) + { + Py_INCREF(Py_None); + return Py_None; + } + + switch (matemenu_tree_item_get_type(item)) + { + case MATEMENU_TREE_ITEM_DIRECTORY: + retval = (PyObject*) pymatemenu_tree_directory_wrap(MATEMENU_TREE_DIRECTORY(item)); + break; + + case MATEMENU_TREE_ITEM_ENTRY: + retval = (PyObject*) pymatemenu_tree_entry_wrap(MATEMENU_TREE_ENTRY(item)); + break; + + default: + g_assert_not_reached(); + break; + } + + matemenu_tree_item_unref(item); + + return retval; +} + +static PyObject* pymatemenu_tree_alias_getattro(PyMateMenuTreeAlias* self, PyObject* py_attr) +{ + if (PyString_Check(py_attr)) + { + char* attr; + + attr = PyString_AsString(py_attr); + + if (!strcmp(attr, "__members__")) + { + return Py_BuildValue("[ssss]", + "type", + "parent", + "directory", + "item"); + } + else if (!strcmp(attr, "type")) + { + return pymatemenu_tree_item_get_type((PyObject*) self, NULL); + } + else if (!strcmp(attr, "parent")) + { + return pymatemenu_tree_item_get_parent((PyObject*) self, NULL); + } + else if (!strcmp(attr, "directory")) + { + return pymatemenu_tree_alias_get_directory((PyObject*) self, NULL); + } + else if (!strcmp(attr, "item")) + { + return pymatemenu_tree_alias_get_item((PyObject*) self, NULL); + } + } + + return PyObject_GenericGetAttr((PyObject*) self, py_attr); +} + +static struct PyMethodDef pymatemenu_tree_alias_methods[] = { + {"get_directory", pymatemenu_tree_alias_get_directory, METH_VARARGS}, + {"get_item", pymatemenu_tree_alias_get_item, METH_VARARGS}, + {NULL, NULL, 0} +}; + +static PyTypeObject PyMateMenuTreeAlias_Type = { + PyObject_HEAD_INIT(NULL) + 0, /* ob_size */ + "matemenu.Alias", /* tp_name */ + sizeof(PyMateMenuTreeAlias), /* tp_basicsize */ + 0, /* tp_itemsize */ + (destructor) pymatemenu_tree_item_dealloc, /* tp_dealloc */ + (printfunc) 0, /* tp_print */ + (getattrfunc) 0, /* tp_getattr */ + (setattrfunc) 0, /* tp_setattr */ + (cmpfunc) 0, /* tp_compare */ + (reprfunc) 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + (hashfunc) 0, /* tp_hash */ + (ternaryfunc) 0, /* tp_call */ + (reprfunc) 0, /* tp_str */ + (getattrofunc) pymatemenu_tree_alias_getattro, /* tp_getattro */ + (setattrofunc) 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT, /* tp_flags */ + NULL, /* Documentation string */ + (traverseproc) 0, /* tp_traverse */ + (inquiry) 0, /* tp_clear */ + (richcmpfunc) 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + (getiterfunc) 0, /* tp_iter */ + (iternextfunc) 0, /* tp_iternext */ + pymatemenu_tree_alias_methods, /* tp_methods */ + 0, /* tp_members */ + 0, /* tp_getset */ + (PyTypeObject*) 0, /* tp_base */ + (PyObject*) 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + (initproc) 0, /* tp_init */ + 0, /* tp_alloc */ + 0, /* tp_new */ + 0, /* tp_free */ + (inquiry) 0, /* tp_is_gc */ + (PyObject*) 0, /* tp_bases */ +}; + +static PyMateMenuTreeAlias* pymatemenu_tree_alias_wrap(MateMenuTreeAlias* alias) +{ + PyMateMenuTreeAlias* retval; + + if ((retval = matemenu_tree_item_get_user_data(MATEMENU_TREE_ITEM(alias))) != NULL) + { + Py_INCREF(retval); + return retval; + } + + if (!(retval = (PyMateMenuTreeAlias*) PyObject_NEW(PyMateMenuTreeAlias, &PyMateMenuTreeAlias_Type))) + { + return NULL; + } + + retval->item = matemenu_tree_item_ref(alias); + + matemenu_tree_item_set_user_data(MATEMENU_TREE_ITEM(alias), retval, NULL); + + return retval; +} + +static PyObject* pymatemenu_tree_get_menu_file(PyObject* self, PyObject* args) +{ + PyMateMenuTree* tree; + const char* menu_file; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Tree.get_menu_file")) + { + return NULL; + } + } + + tree = (PyMateMenuTree*) self; + + menu_file = matemenu_tree_get_menu_file(tree->tree); + + if (menu_file == NULL) + { + Py_INCREF(Py_None); + return Py_None; + } + + return PyString_FromString(menu_file); +} + +static PyObject* pymatemenu_tree_get_root_directory(PyObject* self, PyObject* args) +{ + PyMateMenuTree* tree; + MateMenuTreeDirectory* directory; + PyMateMenuTreeDirectory* retval; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Tree.get_root_directory")) + { + return NULL; + } + } + + tree = (PyMateMenuTree*) self; + + directory = matemenu_tree_get_root_directory(tree->tree); + + if (directory == NULL) + { + Py_INCREF(Py_None); + return Py_None; + } + + retval = pymatemenu_tree_directory_wrap (directory); + + matemenu_tree_item_unref(directory); + + return (PyObject*) retval; +} + +static PyObject* pymatemenu_tree_get_directory_from_path(PyObject* self, PyObject* args) +{ + PyMateMenuTree* tree; + MateMenuTreeDirectory* directory; + PyMateMenuTreeDirectory* retval; + char* path; + + if (!PyArg_ParseTuple(args, "s:matemenu.Tree.get_directory_from_path", &path)) + { + return NULL; + } + + tree = (PyMateMenuTree*) self; + + directory = matemenu_tree_get_directory_from_path(tree->tree, path); + + if (directory == NULL) + { + Py_INCREF(Py_None); + return Py_None; + } + + retval = pymatemenu_tree_directory_wrap(directory); + + matemenu_tree_item_unref(directory); + + return (PyObject*) retval; +} + +static PyObject* pymatemenu_tree_get_sort_key(PyObject* self, PyObject* args) +{ + PyMateMenuTree* tree; + PyObject* retval; + + if (args != NULL) + { + if (!PyArg_ParseTuple(args, ":matemenu.Tree.get_sort_key")) + { + return NULL; + } + } + + tree = (PyMateMenuTree*) self; + + switch (matemenu_tree_get_sort_key(tree->tree)) + { + case MATEMENU_TREE_SORT_NAME: + retval = lookup_item_type_str("SORT_NAME"); + break; + + case MATEMENU_TREE_SORT_DISPLAY_NAME: + retval = lookup_item_type_str("SORT_DISPLAY_NAME"); + break; + + default: + g_assert_not_reached(); + break; + } + + return (PyObject*) retval; +} + +static PyObject* pymatemenu_tree_set_sort_key(PyObject* self, PyObject* args) +{ + PyMateMenuTree* tree; + int sort_key; + + if (!PyArg_ParseTuple(args, "i:matemenu.Tree.set_sort_key", &sort_key)) + { + return NULL; + } + + tree = (PyMateMenuTree*) self; + + matemenu_tree_set_sort_key(tree->tree, sort_key); + + return Py_None; +} + +static PyMateMenuTreeCallback* pymatemenu_tree_callback_new(PyObject* tree, PyObject* callback, PyObject* user_data) +{ + PyMateMenuTreeCallback* retval; + + retval = g_new0(PyMateMenuTreeCallback, 1); + + Py_INCREF(tree); + retval->tree = tree; + + Py_INCREF(callback); + retval->callback = callback; + + Py_XINCREF(user_data); + retval->user_data = user_data; + + return retval; +} + +static void pymatemenu_tree_callback_free(PyMateMenuTreeCallback* callback) +{ + Py_XDECREF(callback->user_data); + callback->user_data = NULL; + + Py_DECREF(callback->callback); + callback->callback = NULL; + + Py_DECREF(callback->tree); + callback->tree = NULL; + + g_free(callback); +} + +static void pymatemenu_tree_handle_monitor_callback(MateMenuTree* tree, PyMateMenuTreeCallback* callback) +{ + PyObject* args; + PyObject* ret; + PyGILState_STATE gstate; + + gstate = PyGILState_Ensure(); + + args = PyTuple_New(callback->user_data ? 2 : 1); + + Py_INCREF(callback->tree); + PyTuple_SET_ITEM(args, 0, callback->tree); + + if (callback->user_data != NULL) + { + Py_INCREF(callback->user_data); + PyTuple_SET_ITEM(args, 1, callback->user_data); + } + + ret = PyObject_CallObject(callback->callback, args); + + Py_XDECREF(ret); + Py_DECREF(args); + + PyGILState_Release(gstate); +} + +static PyObject* pymatemenu_tree_add_monitor(PyObject* self, PyObject* args) +{ + PyMateMenuTree* tree; + PyMateMenuTreeCallback* callback; + PyObject* pycallback; + PyObject* pyuser_data = NULL; + + if (!PyArg_ParseTuple(args, "O|O:matemenu.Tree.add_monitor", &pycallback, &pyuser_data)) + { + return NULL; + } + + if (!PyCallable_Check(pycallback)) + { + PyErr_SetString(PyExc_TypeError, "callback must be callable"); + return NULL; + } + + tree = (PyMateMenuTree*) self; + + callback = pymatemenu_tree_callback_new(self, pycallback, pyuser_data); + + tree->callbacks = g_slist_append(tree->callbacks, callback); + + { + MateMenuTreeDirectory* dir = matemenu_tree_get_root_directory(tree->tree); + if (dir) + { + matemenu_tree_item_unref(dir); + } + } + + matemenu_tree_add_monitor(tree->tree, (MateMenuTreeChangedFunc) pymatemenu_tree_handle_monitor_callback, callback); + + Py_INCREF(Py_None); + return Py_None; +} + +static PyObject* pymatemenu_tree_remove_monitor(PyObject* self, PyObject* args) +{ + PyMateMenuTree* tree; + PyObject* pycallback; + PyObject* pyuser_data; + GSList* tmp; + + if (!PyArg_ParseTuple(args, "O|O:matemenu.Tree.remove_monitor", &pycallback, &pyuser_data)) + { + return NULL; + } + + tree = (PyMateMenuTree*) self; + + tmp = tree->callbacks; + + while (tmp != NULL) + { + PyMateMenuTreeCallback* callback = tmp->data; + GSList* next = tmp->next; + + if (callback->callback == pycallback && callback->user_data == pyuser_data) + { + tree->callbacks = g_slist_delete_link(tree->callbacks, tmp); + pymatemenu_tree_callback_free(callback); + } + + tmp = next; + } + + Py_INCREF(Py_None); + + return Py_None; +} + +static void pymatemenu_tree_dealloc(PyMateMenuTree* self) +{ + g_slist_foreach(self->callbacks, (GFunc) pymatemenu_tree_callback_free, NULL); + g_slist_free(self->callbacks); + self->callbacks = NULL; + + if (self->tree != NULL) + { + matemenu_tree_unref(self->tree); + } + + self->tree = NULL; + + PyObject_DEL(self); +} + +static PyObject* pymatemenu_tree_getattro(PyMateMenuTree* self, PyObject* py_attr) +{ + if (PyString_Check(py_attr)) + { + char* attr; + + attr = PyString_AsString(py_attr); + + if (!strcmp(attr, "__members__")) + { + return Py_BuildValue("[sss]", "root", "menu_file", "sort_key"); + } + else if (!strcmp(attr, "root")) + { + return pymatemenu_tree_get_root_directory((PyObject*) self, NULL); + } + else if (!strcmp(attr, "menu_file")) + { + return pymatemenu_tree_get_menu_file((PyObject*) self, NULL); + } + else if (!strcmp(attr, "sort_key")) + { + return pymatemenu_tree_get_sort_key((PyObject*) self, NULL); + } + } + + return PyObject_GenericGetAttr((PyObject*) self, py_attr); +} + +static int pymatemenu_tree_setattro(PyMateMenuTree* self, PyObject* py_attr, PyObject* py_value) +{ + PyMateMenuTree* tree; + + tree = (PyMateMenuTree*) self; + + if (PyString_Check(py_attr)) + { + char* attr; + + attr = PyString_AsString(py_attr); + + if (!strcmp(attr, "sort_key")) + { + if (PyInt_Check(py_value)) + { + int sort_key; + + sort_key = PyInt_AsLong(py_value); + + if (sort_key < MATEMENU_TREE_SORT_FIRST || sort_key > MATEMENU_TREE_SORT_LAST) + { + return -1; + } + + matemenu_tree_set_sort_key(tree->tree, sort_key); + + return 0; + } + } + } + + return -1; +} + +static struct PyMethodDef pymatemenu_tree_methods[] = { + {"get_menu_file", pymatemenu_tree_get_menu_file, METH_VARARGS}, + {"get_root_directory", pymatemenu_tree_get_root_directory, METH_VARARGS}, + {"get_directory_from_path", pymatemenu_tree_get_directory_from_path, METH_VARARGS}, + {"get_sort_key", pymatemenu_tree_get_sort_key, METH_VARARGS}, + {"set_sort_key", pymatemenu_tree_set_sort_key, METH_VARARGS}, + {"add_monitor", pymatemenu_tree_add_monitor, METH_VARARGS}, + {"remove_monitor", pymatemenu_tree_remove_monitor, METH_VARARGS}, + {NULL, NULL, 0} +}; + +static PyTypeObject PyMateMenuTree_Type = { + PyObject_HEAD_INIT(NULL) + 0, /* ob_size */ + "matemenu.Tree", /* tp_name */ + sizeof(PyMateMenuTree), /* tp_basicsize */ + 0, /* tp_itemsize */ + (destructor) pymatemenu_tree_dealloc, /* tp_dealloc */ + (printfunc) 0, /* tp_print */ + (getattrfunc) 0, /* tp_getattr */ + (setattrfunc) 0, /* tp_setattr */ + (cmpfunc) 0, /* tp_compare */ + (reprfunc) 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + (hashfunc) 0, /* tp_hash */ + (ternaryfunc) 0, /* tp_call */ + (reprfunc) 0, /* tp_str */ + (getattrofunc) pymatemenu_tree_getattro, /* tp_getattro */ + (setattrofunc) pymatemenu_tree_setattro, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT, /* tp_flags */ + NULL, /* Documentation string */ + (traverseproc) 0, /* tp_traverse */ + (inquiry) 0, /* tp_clear */ + (richcmpfunc) 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + (getiterfunc) 0, /* tp_iter */ + (iternextfunc) 0, /* tp_iternext */ + pymatemenu_tree_methods, /* tp_methods */ + 0, /* tp_members */ + 0, /* tp_getset */ + (PyTypeObject*) 0, /* tp_base */ + (PyObject*) 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + (initproc) 0, /* tp_init */ + 0, /* tp_alloc */ + 0, /* tp_new */ + 0, /* tp_free */ + (inquiry) 0, /* tp_is_gc */ + (PyObject*) 0, /* tp_bases */ +}; + +static PyMateMenuTree* pymatemenu_tree_wrap(MateMenuTree* tree) +{ + PyMateMenuTree* retval; + + if ((retval = matemenu_tree_get_user_data(tree)) != NULL) + { + Py_INCREF(retval); + return retval; + } + + if (!(retval = (PyMateMenuTree*) PyObject_NEW(PyMateMenuTree, &PyMateMenuTree_Type))) + { + return NULL; + } + + retval->tree = matemenu_tree_ref(tree); + retval->callbacks = NULL; + + matemenu_tree_set_user_data(tree, retval, NULL); + + return retval; +} + +static PyObject* pymatemenu_lookup_tree(PyObject* self, PyObject* args) +{ + char* menu_file; + + MateMenuTree* tree; + PyMateMenuTree* retval; + int flags; + + flags = MATEMENU_TREE_FLAGS_NONE; + + if (!PyArg_ParseTuple(args, "s|i:matemenu.lookup_tree", &menu_file, &flags)) + { + return NULL; + } + + if (!(tree = matemenu_tree_lookup(menu_file, flags))) + { + Py_INCREF(Py_None); + return Py_None; + } + + retval = pymatemenu_tree_wrap(tree); + + matemenu_tree_unref(tree); + + return (PyObject*) retval; +} + +static struct PyMethodDef pymatemenu_methods[] = { + {"lookup_tree", pymatemenu_lookup_tree, METH_VARARGS}, + {NULL, NULL, 0 } +}; + +void initmatemenu(void); + +DL_EXPORT(void) initmatemenu(void) +{ + PyObject* mod; + + mod = Py_InitModule4("matemenu", pymatemenu_methods, 0, 0, PYTHON_API_VERSION); + + #define REGISTER_TYPE(t, n) G_STMT_START \ + { \ + t.ob_type = &PyType_Type; \ + PyType_Ready(&t); \ + PyModule_AddObject(mod, n, (PyObject*) &t); \ + } G_STMT_END + + REGISTER_TYPE(PyMateMenuTree_Type, "Tree"); + REGISTER_TYPE(PyMateMenuTreeItem_Type, "Item"); + + #define REGISTER_ITEM_TYPE(t, n) G_STMT_START \ + { \ + t.ob_type = &PyType_Type; \ + t.tp_base = &PyMateMenuTreeItem_Type; \ + PyType_Ready(&t); \ + PyModule_AddObject(mod, n, (PyObject*) &t); \ + } G_STMT_END + + REGISTER_ITEM_TYPE(PyMateMenuTreeDirectory_Type, "Directory"); + REGISTER_ITEM_TYPE(PyMateMenuTreeEntry_Type, "Entry"); + REGISTER_ITEM_TYPE(PyMateMenuTreeSeparator_Type, "Separator"); + REGISTER_ITEM_TYPE(PyMateMenuTreeHeader_Type, "Header"); + REGISTER_ITEM_TYPE(PyMateMenuTreeAlias_Type, "Alias"); + + PyModule_AddIntConstant(mod, "TYPE_INVALID", MATEMENU_TREE_ITEM_INVALID); + PyModule_AddIntConstant(mod, "TYPE_DIRECTORY", MATEMENU_TREE_ITEM_DIRECTORY); + PyModule_AddIntConstant(mod, "TYPE_ENTRY", MATEMENU_TREE_ITEM_ENTRY); + PyModule_AddIntConstant(mod, "TYPE_SEPARATOR", MATEMENU_TREE_ITEM_SEPARATOR); + PyModule_AddIntConstant(mod, "TYPE_HEADER", MATEMENU_TREE_ITEM_HEADER); + PyModule_AddIntConstant(mod, "TYPE_ALIAS", MATEMENU_TREE_ITEM_ALIAS); + + PyModule_AddIntConstant(mod, "FLAGS_NONE", MATEMENU_TREE_FLAGS_NONE); + PyModule_AddIntConstant(mod, "FLAGS_INCLUDE_EXCLUDED", MATEMENU_TREE_FLAGS_INCLUDE_EXCLUDED); + PyModule_AddIntConstant(mod, "FLAGS_SHOW_EMPTY", MATEMENU_TREE_FLAGS_SHOW_EMPTY); + PyModule_AddIntConstant(mod, "FLAGS_INCLUDE_NODISPLAY", MATEMENU_TREE_FLAGS_INCLUDE_NODISPLAY); + PyModule_AddIntConstant(mod, "FLAGS_SHOW_ALL_SEPARATORS", MATEMENU_TREE_FLAGS_SHOW_ALL_SEPARATORS); + + PyModule_AddIntConstant(mod, "SORT_NAME", MATEMENU_TREE_SORT_NAME); + PyModule_AddIntConstant(mod, "SORT_DISPLAY_NAME", MATEMENU_TREE_SORT_DISPLAY_NAME); +} diff --git a/util/Makefile.am b/util/Makefile.am new file mode 100644 index 0000000..ad61301 --- /dev/null +++ b/util/Makefile.am @@ -0,0 +1,31 @@ +noinst_PROGRAMS = mate-menu-spec-test + +AM_CPPFLAGS = \ + $(GLIB_CFLAGS) \ + -I$(srcdir)/../libmenu \ + -DMATEMENU_I_KNOW_THIS_IS_UNSTABLE \ + -DMATELOCALEDIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \ + $(DISABLE_DEPRECATED_CFLAGS) \ + $(DEBUG_CFLAGS) + +AM_CFLAGS = $(WARN_CFLAGS) + +mate_menu_spec_test_SOURCES = \ + test-menu-spec.c + +mate_menu_spec_test_LDADD = \ + $(GLIB_LIBS) \ + ../libmenu/libmate-menu.la + +if HAVE_PYTHON +pyexampledir = $(pkgdatadir)/examples +pyexample_DATA = mate-menus-ls.py +else +pyexampledir = +pyexample_DATA = +endif + +EXTRA_DIST = $(pyexample_DATA) + +-include $(top_srcdir)/git.mk + diff --git a/util/mate-menus-ls.py b/util/mate-menus-ls.py new file mode 100644 index 0000000..ec6ef4b --- /dev/null +++ b/util/mate-menus-ls.py @@ -0,0 +1,94 @@ +# vim: set ts=4 sw=4 et: + +# +# Copyright (C) 2008 Novell, Inc. +# +# Authors: Vincent Untz <[email protected]> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# + +import optparse +import sys + +import matemenu + +def print_entry(entry, path): + if entry.get_is_excluded(): + excluded = ' <excluded>' + else: + excluded = '' + + print '%s\t%s\t%s%s' % (path, entry.get_desktop_file_id(), entry.get_desktop_file_path(), excluded) + +def print_directory(dir, parent_path = None): + if not parent_path: + path = '/' + else: + path = '%s%s/' % (parent_path, dir.get_name()) + + for item in dir.get_contents(): + type = item.get_type() + if type == matemenu.TYPE_ENTRY: + print_entry(item, path) + elif type == matemenu.TYPE_DIRECTORY: + print_directory(item, path) + elif type == matemenu.TYPE_ALIAS: + aliased = item.get_item() + if aliased.get_type() == matemenu.TYPE_ENTRY: + print_entry(aliased, path) + elif type in [ matemenu.TYPE_HEADER, matemenu.TYPE_SEPARATOR ]: + pass + else: + print >> sys.stderr, 'Unsupported item type: %s' % type + +def main(args): + parser = optparse.OptionParser() + + parser.add_option('-f', '--file', dest='file', + help='Menu file') + parser.add_option('-i', '--include-excluded', dest='exclude', + action='store_true', default=False, + help='Include <Exclude>d entries') + parser.add_option('-n', '--include-nodisplay', dest='nodisplay', + action='store_true', default=False, + help='Include NoDisplay=true entries') + + (options, args) = parser.parse_args() + + if options.file: + menu_file = options.file + else: + menu_file = 'mate-applications.menu' + + flags = matemenu.FLAGS_NONE + if options.exclude: + flags |= matemenu.FLAGS_INCLUDE_EXCLUDED + if options.nodisplay: + flags |= matemenu.FLAGS_INCLUDE_NODISPLAY + + tree = matemenu.lookup_tree(menu_file, flags) + root = tree.get_root_directory() + + if not root: + print 'Menu tree is empty' + else: + print_directory(root) + +if __name__ == '__main__': + try: + main(sys.argv) + except KeyboardInterrupt: + pass diff --git a/util/test-menu-spec.c b/util/test-menu-spec.c new file mode 100644 index 0000000..e67c0f4 --- /dev/null +++ b/util/test-menu-spec.c @@ -0,0 +1,225 @@ +/* + * Copyright (C) 2004 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include <config.h> + +#include "matemenu-tree.h" + +#include <string.h> + +/* This is only a test program, so we don't need translations. Still keep the + * infrastructure in place in case we suddenly decide we want to localize this + * program. Don't forget to reenable the call to bindtextdomain() if going back + * to real localization. */ +#define _(x) x +#define N_(x) x + +static char* menu_file = NULL; +static gboolean monitor = FALSE; +static gboolean include_excluded = FALSE; +static gboolean include_nodisplay = FALSE; + +static GOptionEntry options[] = { + {"file", 'f', 0, G_OPTION_ARG_STRING, &menu_file, N_("Menu file"), N_("MENU_FILE")}, + {"monitor", 'm', 0, G_OPTION_ARG_NONE, &monitor, N_("Monitor for menu changes"), NULL}, + {"include-excluded", 'i', 0, G_OPTION_ARG_NONE, &include_excluded, N_("Include <Exclude>d entries"), NULL}, + {"include-nodisplay", 'n', 0, G_OPTION_ARG_NONE, &include_nodisplay, N_("Include NoDisplay=true entries"), NULL}, + {NULL} +}; + +static void append_directory_path(MateMenuTreeDirectory* directory, GString* path) +{ + MateMenuTreeDirectory* parent = matemenu_tree_item_get_parent(MATEMENU_TREE_ITEM(directory)); + + if (!parent) + { + g_string_append_c(path, '/'); + return; + } + + append_directory_path(parent, path); + + g_string_append(path, matemenu_tree_directory_get_name(directory)); + g_string_append_c(path, '/'); + + matemenu_tree_item_unref(parent); +} + +static char* make_path(MateMenuTreeDirectory* directory) +{ + g_return_val_if_fail(directory != NULL, NULL); + + GString* path = g_string_new(NULL); + + append_directory_path(directory, path); + + return g_string_free(path, FALSE); +} + +static void print_entry(MateMenuTreeEntry* entry, const char* path) +{ + char* utf8_path = g_filename_to_utf8(matemenu_tree_entry_get_desktop_file_path(entry), -1, NULL, NULL, NULL); + char* utf8_file_id = g_filename_to_utf8(matemenu_tree_entry_get_desktop_file_id(entry), -1, NULL, NULL, NULL); + + g_print("%s %s %s%s%s\n", + path, + utf8_file_id ? utf8_file_id : _("Invalid desktop file ID"), + utf8_path ? utf8_path : _("[Invalid Filename]"), + matemenu_tree_entry_get_is_excluded(entry) ? _(" <excluded>") : "", + matemenu_tree_entry_get_is_nodisplay(entry) ? _(" <nodisplay>") : ""); + + g_free(utf8_file_id); + g_free(utf8_path); +} + +static void print_directory(MateMenuTreeDirectory* directory) +{ + const char* path; + char* freeme = make_path(directory); + + if (!strcmp(freeme, "/")) + { + path = freeme; + } + else + { + path = freeme + 1; + } + + GSList* items = matemenu_tree_directory_get_contents(directory); + GSList* tmp = items; + + while (tmp != NULL) + { + MateMenuTreeItem* item = tmp->data; + + switch (matemenu_tree_item_get_type(item)) + { + case MATEMENU_TREE_ITEM_ENTRY: + print_entry(MATEMENU_TREE_ENTRY(item), path); + break; + + case MATEMENU_TREE_ITEM_DIRECTORY: + print_directory(MATEMENU_TREE_DIRECTORY(item)); + break; + + case MATEMENU_TREE_ITEM_HEADER: + case MATEMENU_TREE_ITEM_SEPARATOR: + break; + + case MATEMENU_TREE_ITEM_ALIAS: + { + MateMenuTreeItem* aliased_item = matemenu_tree_alias_get_item(MATEMENU_TREE_ALIAS(item)); + + if (matemenu_tree_item_get_type(aliased_item) == MATEMENU_TREE_ITEM_ENTRY) + { + print_entry(MATEMENU_TREE_ENTRY(aliased_item), path); + } + } + break; + + default: + g_assert_not_reached(); + break; + } + + matemenu_tree_item_unref(tmp->data); + + tmp = tmp->next; + } + + g_slist_free(items); + + g_free(freeme); +} + +static void handle_tree_changed(MateMenuTree* tree) +{ + g_print(_("\n\n\n==== Menu changed, reloading ====\n\n\n")); + + MateMenuTreeDirectory* root = matemenu_tree_get_root_directory(tree); + + if (root == NULL) + { + g_warning(_("Menu tree is empty")); + return; + } + + print_directory(root); + matemenu_tree_item_unref(root); +} + +int main(int argc, char** argv) +{ + #if 0 + /* See comment when defining _() at the top of this file. */ + bindtextdomain(GETTEXT_PACKAGE, MATELOCALEDIR); + bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); + textdomain(GETTEXT_PACKAGE); + #endif + + GOptionContext* options_context = g_option_context_new(_("- test MATE's implementation of the Desktop Menu Specification")); + g_option_context_add_main_entries(options_context, options, GETTEXT_PACKAGE); + g_option_context_parse(options_context, &argc, &argv, NULL); + g_option_context_free(options_context); + + MateMenuTreeFlags flags = MATEMENU_TREE_FLAGS_NONE; + + if (include_excluded) + { + flags |= MATEMENU_TREE_FLAGS_INCLUDE_EXCLUDED; + } + + if (include_nodisplay) + { + flags |= MATEMENU_TREE_FLAGS_INCLUDE_NODISPLAY; + } + + // Usamos applications.menu is existe. Para compatibilidad con GNOME + MateMenuTree* tree = matemenu_tree_lookup(menu_file ? menu_file : "mate-applications.menu", flags); + + g_assert(tree != NULL); + + MateMenuTreeDirectory* root = matemenu_tree_get_root_directory(tree); + + if (root != NULL) + { + print_directory(root); + matemenu_tree_item_unref(root); + } + else + { + g_warning(_("Menu tree is empty")); + } + + if (monitor) + { + matemenu_tree_add_monitor(tree, (MateMenuTreeChangedFunc) handle_tree_changed, NULL); + + GMainLoop* main_loop = g_main_loop_new(NULL, FALSE); + g_main_loop_run(main_loop); + g_main_loop_unref(main_loop); + + matemenu_tree_remove_monitor(tree, (MateMenuTreeChangedFunc) handle_tree_changed, NULL); + } + + matemenu_tree_unref(tree); + + return 0; +} |