From 17e291fd05d66fe232e2f409d54331c495b2fbd0 Mon Sep 17 00:00:00 2001 From: Perberos Date: Thu, 1 Dec 2011 22:29:22 -0300 Subject: moving from https://github.com/perberos/mate-desktop-environment --- AUTHORS | 3 + COPYING | 339 ++ COPYING.LIB | 481 +++ ChangeLog | 1 + HACKING | 31 + MAINTAINERS | 12 + Makefile.am | 36 + NEWS | 1 + README | 44 + aclocal.m4 | 2177 ++++++++++ autogen.sh | 25 + config.h.in | 83 + config.sub | 1705 ++++++++ configure.ac | 171 + depcomp | 630 +++ desktop-directories/Makefile.am | 37 + desktop-directories/mate-audio-video.directory.in | 5 + desktop-directories/mate-development.directory.in | 5 + desktop-directories/mate-education.directory.in | 4 + desktop-directories/mate-game.directory.in | 5 + desktop-directories/mate-graphics.directory.in | 5 + desktop-directories/mate-hardware.directory.in | 5 + .../mate-internet-and-network.directory.in | 5 + .../mate-look-and-feel.directory.in | 5 + .../mate-menu-applications.directory.in | 5 + desktop-directories/mate-menu-system.directory.in | 5 + desktop-directories/mate-network.directory.in | 5 + desktop-directories/mate-office.directory.in | 5 + desktop-directories/mate-other.directory.in | 5 + desktop-directories/mate-personal.directory.in | 6 + .../mate-settings-system.directory.in | 5 + desktop-directories/mate-settings.directory.in | 5 + desktop-directories/mate-system-tools.directory.in | 5 + desktop-directories/mate-system.directory.in | 5 + .../mate-utility-accessibility.directory.in | 5 + desktop-directories/mate-utility.directory.in | 5 + distro/archlinux/PKGBUILD | 29 + distro/archlinux/menus.patch | 25 + distro/ubuntu/build | 27 + install-sh | 520 +++ layout/Makefile.am | 9 + layout/mate-applications.menu | 154 + layout/mate-settings.menu | 57 + libmenu/Makefile.am | 78 + libmenu/canonicalize.c | 326 ++ libmenu/canonicalize.h | 38 + libmenu/desktop-entries.c | 816 ++++ libmenu/desktop-entries.h | 90 + libmenu/entry-directories.c | 1105 +++++ libmenu/entry-directories.h | 67 + libmenu/libmate-menu-uninstalled.pc.in | 11 + libmenu/libmate-menu.pc.in | 11 + libmenu/matemenu-tree.c | 4520 ++++++++++++++++++++ libmenu/matemenu-tree.h | 135 + libmenu/menu-layout.c | 2359 ++++++++++ libmenu/menu-layout.h | 161 + libmenu/menu-monitor.c | 440 ++ libmenu/menu-monitor.h | 70 + libmenu/menu-util.c | 436 ++ libmenu/menu-util.h | 59 + m4/intltool.m4 | 216 + m4/ltsugar.m4 | 123 + m4/python.m4 | 86 + missing | 376 ++ mkinstalldirs | 162 + po/LINGUAS | 100 + po/POTFILES.in | 28 + po/POTFILES.skip | 3 + po/af.po | 258 ++ po/an.po | 211 + po/ar.po | 270 ++ po/as.po | 277 ++ po/ast.po | 265 ++ po/be.po | 269 ++ po/be@latin.po | 275 ++ po/bg.po | 272 ++ po/bn.po | 301 ++ po/bn_IN.po | 280 ++ po/br.po | 266 ++ po/ca.po | 272 ++ po/ca@valencia.po | 272 ++ po/crh.po | 271 ++ po/cs.po | 269 ++ po/cy.po | 231 + po/da.po | 284 ++ po/de.po | 273 ++ po/dv.po | 260 ++ po/dz.po | 275 ++ po/el.po | 255 ++ po/en@shaw.po | 211 + po/en_CA.po | 232 + po/en_GB.po | 283 ++ po/eo.po | 315 ++ po/es.po | 281 ++ po/et.po | 219 + po/eu.po | 269 ++ po/fa.po | 272 ++ po/fi.po | 282 ++ po/fr.po | 274 ++ po/fur.po | 270 ++ po/fy.po | 269 ++ po/ga.po | 267 ++ po/gl.po | 272 ++ po/gn.po | 218 + po/gu.po | 270 ++ po/gv.po | 279 ++ po/ha.po | 272 ++ po/he.po | 276 ++ po/hi.po | 277 ++ po/hr.po | 271 ++ po/hu.po | 268 ++ po/hy.po | 266 ++ po/id.po | 217 + po/ig.po | 270 ++ po/io.po | 267 ++ po/is.po | 268 ++ po/it.po | 267 ++ po/ja.po | 263 ++ po/ka.po | 238 ++ po/kk.po | 255 ++ po/kn.po | 256 ++ po/ko.po | 268 ++ po/ku.po | 285 ++ po/ky.po | 227 + po/lt.po | 280 ++ po/lv.po | 261 ++ po/mai.po | 272 ++ po/mg.po | 237 + po/mk.po | 277 ++ po/ml.po | 269 ++ po/mn.po | 273 ++ po/mr.po | 274 ++ po/ms.po | 2260 ++++++++++ po/nb.po | 266 ++ po/nds.po | 268 ++ po/ne.po | 275 ++ po/nl.po | 281 ++ po/nn.po | 275 ++ po/oc.po | 266 ++ po/or.po | 274 ++ po/pa.po | 275 ++ po/pl.po | 280 ++ po/ps.po | 259 ++ po/pt.po | 282 ++ po/pt_BR.po | 316 ++ po/ro.po | 269 ++ po/ru.po | 274 ++ po/rw.po | 150 + po/si.po | 271 ++ po/sk.po | 213 + po/sl.po | 274 ++ po/sq.po | 278 ++ po/sr.po | 287 ++ po/sr@latin.po | 287 ++ po/sv.po | 310 ++ po/ta.po | 276 ++ po/te.po | 270 ++ po/th.po | 281 ++ po/tr.po | 276 ++ po/ug.po | 297 ++ po/uk.po | 281 ++ po/uz@cyrillic.po | 270 ++ po/vi.po | 279 ++ po/xh.po | 127 + po/yo.po | 270 ++ po/zh_CN.po | 268 ++ po/zh_HK.po | 279 ++ po/zh_TW.po | 279 ++ py-compile | 146 + python/Makefile.am | 20 + python/matemenu.c | 1948 +++++++++ util/Makefile.am | 31 + util/mate-menus-ls.py | 94 + util/test-menu-spec.c | 225 + 174 files changed, 49563 insertions(+) create mode 100644 AUTHORS create mode 100644 COPYING create mode 100644 COPYING.LIB create mode 100644 ChangeLog create mode 100644 HACKING create mode 100644 MAINTAINERS create mode 100644 Makefile.am create mode 100644 NEWS create mode 100644 README create mode 100644 aclocal.m4 create mode 100755 autogen.sh create mode 100644 config.h.in create mode 100755 config.sub create mode 100644 configure.ac create mode 100755 depcomp create mode 100644 desktop-directories/Makefile.am create mode 100644 desktop-directories/mate-audio-video.directory.in create mode 100644 desktop-directories/mate-development.directory.in create mode 100644 desktop-directories/mate-education.directory.in create mode 100644 desktop-directories/mate-game.directory.in create mode 100644 desktop-directories/mate-graphics.directory.in create mode 100644 desktop-directories/mate-hardware.directory.in create mode 100644 desktop-directories/mate-internet-and-network.directory.in create mode 100644 desktop-directories/mate-look-and-feel.directory.in create mode 100644 desktop-directories/mate-menu-applications.directory.in create mode 100644 desktop-directories/mate-menu-system.directory.in create mode 100644 desktop-directories/mate-network.directory.in create mode 100644 desktop-directories/mate-office.directory.in create mode 100644 desktop-directories/mate-other.directory.in create mode 100644 desktop-directories/mate-personal.directory.in create mode 100644 desktop-directories/mate-settings-system.directory.in create mode 100644 desktop-directories/mate-settings.directory.in create mode 100644 desktop-directories/mate-system-tools.directory.in create mode 100644 desktop-directories/mate-system.directory.in create mode 100644 desktop-directories/mate-utility-accessibility.directory.in create mode 100644 desktop-directories/mate-utility.directory.in create mode 100644 distro/archlinux/PKGBUILD create mode 100644 distro/archlinux/menus.patch create mode 100755 distro/ubuntu/build create mode 100755 install-sh create mode 100644 layout/Makefile.am create mode 100644 layout/mate-applications.menu create mode 100644 layout/mate-settings.menu create mode 100644 libmenu/Makefile.am create mode 100644 libmenu/canonicalize.c create mode 100644 libmenu/canonicalize.h create mode 100644 libmenu/desktop-entries.c create mode 100644 libmenu/desktop-entries.h create mode 100644 libmenu/entry-directories.c create mode 100644 libmenu/entry-directories.h create mode 100644 libmenu/libmate-menu-uninstalled.pc.in create mode 100644 libmenu/libmate-menu.pc.in create mode 100644 libmenu/matemenu-tree.c create mode 100644 libmenu/matemenu-tree.h create mode 100644 libmenu/menu-layout.c create mode 100644 libmenu/menu-layout.h create mode 100644 libmenu/menu-monitor.c create mode 100644 libmenu/menu-monitor.h create mode 100644 libmenu/menu-util.c create mode 100644 libmenu/menu-util.h create mode 100644 m4/intltool.m4 create mode 100644 m4/ltsugar.m4 create mode 100644 m4/python.m4 create mode 100755 missing create mode 100755 mkinstalldirs create mode 100644 po/LINGUAS create mode 100644 po/POTFILES.in create mode 100644 po/POTFILES.skip create mode 100644 po/af.po create mode 100644 po/an.po create mode 100644 po/ar.po create mode 100644 po/as.po create mode 100644 po/ast.po create mode 100644 po/be.po create mode 100644 po/be@latin.po create mode 100644 po/bg.po create mode 100644 po/bn.po create mode 100644 po/bn_IN.po create mode 100644 po/br.po create mode 100644 po/ca.po create mode 100644 po/ca@valencia.po create mode 100644 po/crh.po create mode 100644 po/cs.po create mode 100644 po/cy.po create mode 100644 po/da.po create mode 100644 po/de.po create mode 100644 po/dv.po create mode 100644 po/dz.po create mode 100644 po/el.po create mode 100644 po/en@shaw.po create mode 100644 po/en_CA.po create mode 100644 po/en_GB.po create mode 100644 po/eo.po create mode 100644 po/es.po create mode 100644 po/et.po create mode 100644 po/eu.po create mode 100644 po/fa.po create mode 100644 po/fi.po create mode 100644 po/fr.po create mode 100644 po/fur.po create mode 100644 po/fy.po create mode 100644 po/ga.po create mode 100644 po/gl.po create mode 100644 po/gn.po create mode 100644 po/gu.po create mode 100644 po/gv.po create mode 100644 po/ha.po create mode 100644 po/he.po create mode 100644 po/hi.po create mode 100644 po/hr.po create mode 100644 po/hu.po create mode 100644 po/hy.po create mode 100644 po/id.po create mode 100644 po/ig.po create mode 100644 po/io.po create mode 100644 po/is.po create mode 100644 po/it.po create mode 100644 po/ja.po create mode 100644 po/ka.po create mode 100644 po/kk.po create mode 100644 po/kn.po create mode 100644 po/ko.po create mode 100644 po/ku.po create mode 100644 po/ky.po create mode 100644 po/lt.po create mode 100644 po/lv.po create mode 100644 po/mai.po create mode 100644 po/mg.po create mode 100644 po/mk.po create mode 100644 po/ml.po create mode 100644 po/mn.po create mode 100644 po/mr.po create mode 100644 po/ms.po create mode 100644 po/nb.po create mode 100644 po/nds.po create mode 100644 po/ne.po create mode 100644 po/nl.po create mode 100644 po/nn.po create mode 100644 po/oc.po create mode 100644 po/or.po create mode 100644 po/pa.po create mode 100644 po/pl.po create mode 100644 po/ps.po create mode 100644 po/pt.po create mode 100644 po/pt_BR.po create mode 100644 po/ro.po create mode 100644 po/ru.po create mode 100644 po/rw.po create mode 100644 po/si.po create mode 100644 po/sk.po create mode 100644 po/sl.po create mode 100644 po/sq.po create mode 100644 po/sr.po create mode 100644 po/sr@latin.po create mode 100644 po/sv.po create mode 100644 po/ta.po create mode 100644 po/te.po create mode 100644 po/th.po create mode 100644 po/tr.po create mode 100644 po/ug.po create mode 100644 po/uk.po create mode 100644 po/uz@cyrillic.po create mode 100644 po/vi.po create mode 100644 po/xh.po create mode 100644 po/yo.po create mode 100644 po/zh_CN.po create mode 100644 po/zh_HK.po create mode 100644 po/zh_TW.po create mode 100755 py-compile create mode 100644 python/Makefile.am create mode 100644 python/matemenu.c create mode 100644 util/Makefile.am create mode 100644 util/mate-menus-ls.py create mode 100644 util/test-menu-spec.c diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..e0deab2 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,3 @@ +Mark McLoughlin +Havoc Pennington +Vincent Untz diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/COPYING @@ -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. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. 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. + + + Copyright (C) + + 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. + + , 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 @@ + diff --git a/HACKING b/HACKING new file mode 100644 index 0000000..5a7b611 --- /dev/null +++ b/HACKING @@ -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: vuntz@gnome.org +Userid: vuntz + +Non-active maintainers, who have a good understanding of the code +----------------------------------------------------------------- + +#Mark McLoughlin +#E-mail: mark@skynet.ie 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 diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/NEWS @@ -0,0 +1 @@ + diff --git a/README b/README new file mode 100644 index 0000000..332e2c6 --- /dev/null +++ b/README @@ -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 , 1995, 1996 +# +# Modified to never use included libintl. +# Owen Taylor , 12/15/1998 +# +# Major rework to remove unused code +# Owen Taylor , 12/11/2002 +# +# Added better handling of ALL_LINGUAS from GNU gettext version +# written by Bruno Haible, Owen Taylor 5/30/3002 +# +# Modified to require ngettext +# Matthias Clasen 08/06/2004 +# +# We need this here as well, since someone might use autoconf-2.5x +# to configure GLib then an older version to configure a package +# using AM_GLIB_GNU_GETTEXT +AC_PREREQ(2.53) + +dnl +dnl We go to great lengths to make sure that aclocal won't +dnl try to pull in the installed version of these macros +dnl when running aclocal in the glib directory. +dnl +m4_copy([AC_DEFUN],[glib_DEFUN]) +m4_copy([AC_REQUIRE],[glib_REQUIRE]) +dnl +dnl At the end, if we're not within glib, we'll define the public +dnl definitions in terms of our private definitions. +dnl + +# GLIB_LC_MESSAGES +#-------------------- +glib_DEFUN([GLIB_LC_MESSAGES], + [AC_CHECK_HEADERS([locale.h]) + if test $ac_cv_header_locale_h = yes; then + AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, + [AC_TRY_LINK([#include ], [return LC_MESSAGES], + am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) + if test $am_cv_val_LC_MESSAGES = yes; then + AC_DEFINE(HAVE_LC_MESSAGES, 1, + [Define if your file defines LC_MESSAGES.]) + fi + fi]) + +# GLIB_PATH_PROG_WITH_TEST +#---------------------------- +dnl GLIB_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +glib_DEFUN([GLIB_PATH_PROG_WITH_TEST], +[# Extract the first word of "$2", so it can be a program name with args. +set dummy $2; ac_word=[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL(ac_cv_path_$1, +[case "[$]$1" in + /*) + ac_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in ifelse([$5], , $PATH, [$5]); do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word" + break + fi + fi + done + IFS="$ac_save_ifs" +dnl If no 4th arg is given, leave the cache variable unset, +dnl so AC_PATH_PROGS will keep looking. +ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +])dnl + ;; +esac])dnl +$1="$ac_cv_path_$1" +if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then + AC_MSG_RESULT([$]$1) +else + AC_MSG_RESULT(no) +fi +AC_SUBST($1)dnl +]) + +# GLIB_WITH_NLS +#----------------- +glib_DEFUN([GLIB_WITH_NLS], + dnl NLS is obligatory + [USE_NLS=yes + AC_SUBST(USE_NLS) + + gt_cv_have_gettext=no + + CATOBJEXT=NONE + XGETTEXT=: + INTLLIBS= + + AC_CHECK_HEADER(libintl.h, + [gt_cv_func_dgettext_libintl="no" + libintl_extra_libs="" + + # + # First check in libc + # + AC_CACHE_CHECK([for ngettext in libc], gt_cv_func_ngettext_libc, + [AC_TRY_LINK([ +#include +], + [return !ngettext ("","", 1)], + gt_cv_func_ngettext_libc=yes, + gt_cv_func_ngettext_libc=no) + ]) + + if test "$gt_cv_func_ngettext_libc" = "yes" ; then + AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc, + [AC_TRY_LINK([ +#include +], + [return !dgettext ("","")], + gt_cv_func_dgettext_libc=yes, + gt_cv_func_dgettext_libc=no) + ]) + fi + + if test "$gt_cv_func_ngettext_libc" = "yes" ; then + AC_CHECK_FUNCS(bind_textdomain_codeset) + fi + + # + # If we don't have everything we want, check in libintl + # + if test "$gt_cv_func_dgettext_libc" != "yes" \ + || test "$gt_cv_func_ngettext_libc" != "yes" \ + || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then + + AC_CHECK_LIB(intl, bindtextdomain, + [AC_CHECK_LIB(intl, ngettext, + [AC_CHECK_LIB(intl, dgettext, + gt_cv_func_dgettext_libintl=yes)])]) + + if test "$gt_cv_func_dgettext_libintl" != "yes" ; then + AC_MSG_CHECKING([if -liconv is needed to use gettext]) + AC_MSG_RESULT([]) + AC_CHECK_LIB(intl, ngettext, + [AC_CHECK_LIB(intl, dcgettext, + [gt_cv_func_dgettext_libintl=yes + libintl_extra_libs=-liconv], + :,-liconv)], + :,-liconv) + fi + + # + # If we found libintl, then check in it for bind_textdomain_codeset(); + # we'll prefer libc if neither have bind_textdomain_codeset(), + # and both have dgettext and ngettext + # + if test "$gt_cv_func_dgettext_libintl" = "yes" ; then + glib_save_LIBS="$LIBS" + LIBS="$LIBS -lintl $libintl_extra_libs" + unset ac_cv_func_bind_textdomain_codeset + AC_CHECK_FUNCS(bind_textdomain_codeset) + LIBS="$glib_save_LIBS" + + if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then + gt_cv_func_dgettext_libc=no + else + if test "$gt_cv_func_dgettext_libc" = "yes" \ + && test "$gt_cv_func_ngettext_libc" = "yes"; then + gt_cv_func_dgettext_libintl=no + fi + fi + fi + fi + + if test "$gt_cv_func_dgettext_libc" = "yes" \ + || test "$gt_cv_func_dgettext_libintl" = "yes"; then + gt_cv_have_gettext=yes + fi + + if test "$gt_cv_func_dgettext_libintl" = "yes"; then + INTLLIBS="-lintl $libintl_extra_libs" + fi + + if test "$gt_cv_have_gettext" = "yes"; then + AC_DEFINE(HAVE_GETTEXT,1, + [Define if the GNU gettext() function is already present or preinstalled.]) + GLIB_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl + if test "$MSGFMT" != "no"; then + glib_save_LIBS="$LIBS" + LIBS="$LIBS $INTLLIBS" + AC_CHECK_FUNCS(dcgettext) + MSGFMT_OPTS= + AC_MSG_CHECKING([if msgfmt accepts -c]) + GLIB_RUN_PROG([$MSGFMT -c -o /dev/null],[ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: test 1.0\n" +"PO-Revision-Date: 2007-02-15 12:01+0100\n" +"Last-Translator: test \n" +"Language-Team: C \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +], [MSGFMT_OPTS=-c; AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])]) + AC_SUBST(MSGFMT_OPTS) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) + AC_TRY_LINK(, [extern int _nl_msg_cat_cntr; + return _nl_msg_cat_cntr], + [CATOBJEXT=.gmo + DATADIRNAME=share], + [case $host in + *-*-solaris*) + dnl On Solaris, if bind_textdomain_codeset is in libc, + dnl GNU format message catalog is always supported, + dnl since both are added to the libc all together. + dnl Hence, we'd like to go with DATADIRNAME=share and + dnl and CATOBJEXT=.gmo in this case. + AC_CHECK_FUNC(bind_textdomain_codeset, + [CATOBJEXT=.gmo + DATADIRNAME=share], + [CATOBJEXT=.mo + DATADIRNAME=lib]) + ;; + *-*-openbsd*) + CATOBJEXT=.mo + DATADIRNAME=share + ;; + *) + CATOBJEXT=.mo + DATADIRNAME=lib + ;; + esac]) + LIBS="$glib_save_LIBS" + INSTOBJEXT=.mo + else + gt_cv_have_gettext=no + fi + fi + ]) + + if test "$gt_cv_have_gettext" = "yes" ; then + AC_DEFINE(ENABLE_NLS, 1, + [always defined to indicate that i18n is enabled]) + fi + + dnl Test whether we really found GNU xgettext. + if test "$XGETTEXT" != ":"; then + dnl If it is not GNU xgettext we define it as : so that the + dnl Makefiles still can work. + if $XGETTEXT --omit-header /dev/null 2> /dev/null; then + : ; + else + AC_MSG_RESULT( + [found xgettext program is not GNU xgettext; ignore it]) + XGETTEXT=":" + fi + fi + + # We need to process the po/ directory. + POSUB=po + + AC_OUTPUT_COMMANDS( + [case "$CONFIG_FILES" in *po/Makefile.in*) + sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile + esac]) + + dnl These rules are solely for the distribution goal. While doing this + dnl we only have to keep exactly one list of the available catalogs + dnl in configure.ac. + for lang in $ALL_LINGUAS; do + GMOFILES="$GMOFILES $lang.gmo" + POFILES="$POFILES $lang.po" + done + + dnl Make all variables we use known to autoconf. + AC_SUBST(CATALOGS) + AC_SUBST(CATOBJEXT) + AC_SUBST(DATADIRNAME) + AC_SUBST(GMOFILES) + AC_SUBST(INSTOBJEXT) + AC_SUBST(INTLLIBS) + AC_SUBST(PO_IN_DATADIR_TRUE) + AC_SUBST(PO_IN_DATADIR_FALSE) + AC_SUBST(POFILES) + AC_SUBST(POSUB) + ]) + +# AM_GLIB_GNU_GETTEXT +# ------------------- +# Do checks necessary for use of gettext. If a suitable implementation +# of gettext is found in either in libintl or in the C library, +# it will set INTLLIBS to the libraries needed for use of gettext +# and AC_DEFINE() HAVE_GETTEXT and ENABLE_NLS. (The shell variable +# gt_cv_have_gettext will be set to "yes".) It will also call AC_SUBST() +# on various variables needed by the Makefile.in.in installed by +# glib-gettextize. +dnl +glib_DEFUN([GLIB_GNU_GETTEXT], + [AC_REQUIRE([AC_PROG_CC])dnl + 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 , 1995-2000. +dnl Bruno Haible , 2000-2003. + +AC_PREREQ([2.50]) + +AC_DEFUN([AM_NLS], +[ + AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE([nls], + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) + AC_MSG_RESULT([$USE_NLS]) + AC_SUBST([USE_NLS]) +]) + +# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# serial 1 (pkg-config-0.24) +# +# Copyright © 2004 Scott James Remnant . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# PKG_PROG_PKG_CONFIG([MIN-VERSION]) +# ---------------------------------- +AC_DEFUN([PKG_PROG_PKG_CONFIG], +[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) +m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) +m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) +AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) +AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=m4_default([$1], [0.9.0]) + AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + PKG_CONFIG="" + fi +fi[]dnl +])# PKG_PROG_PKG_CONFIG + +# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# Check to see whether a particular set of modules exists. Similar +# to PKG_CHECK_MODULES(), but does not set variables or print errors. +# +# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +# only at the first occurence in configure.ac, so if the first place +# it's called might be skipped (such as if it is within an "if", you +# have to call PKG_CHECK_EXISTS manually +# -------------------------------------------------------------- +AC_DEFUN([PKG_CHECK_EXISTS], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +if test -n "$PKG_CONFIG" && \ + AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then + m4_default([$2], [:]) +m4_ifvaln([$3], [else + $3])dnl +fi]) + +# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) +# --------------------------------------------- +m4_define([_PKG_CONFIG], +[if test -n "$$1"; then + pkg_cv_[]$1="$$1" + elif test -n "$PKG_CONFIG"; then + PKG_CHECK_EXISTS([$3], + [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes ], + [pkg_failed=yes]) + else + pkg_failed=untried +fi[]dnl +])# _PKG_CONFIG + +# _PKG_SHORT_ERRORS_SUPPORTED +# ----------------------------- +AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi[]dnl +])# _PKG_SHORT_ERRORS_SUPPORTED + + +# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +# [ACTION-IF-NOT-FOUND]) +# +# +# Note that if there is a possibility the first call to +# PKG_CHECK_MODULES might not happen, you should be sure to include an +# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac +# +# +# -------------------------------------------------------------- +AC_DEFUN([PKG_CHECK_MODULES], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl +AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl + +pkg_failed=no +AC_MSG_CHECKING([for $1]) + +_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) +_PKG_CONFIG([$1][_LIBS], [libs], [$2]) + +m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS +and $1[]_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details.]) + +if test $pkg_failed = yes; then + AC_MSG_RESULT([no]) + _PKG_SHORT_ERRORS_SUPPORTED + if test $_pkg_short_errors_supported = yes; then + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` + else + $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD + + m4_default([$4], [AC_MSG_ERROR( +[Package requirements ($2) were not met: + +$$1_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +_PKG_TEXT])[]dnl + ]) +elif test $pkg_failed = untried; then + AC_MSG_RESULT([no]) + m4_default([$4], [AC_MSG_FAILURE( +[The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +_PKG_TEXT + +To get pkg-config, see .])[]dnl + ]) +else + $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS + $1[]_LIBS=$pkg_cv_[]$1[]_LIBS + AC_MSG_RESULT([yes]) + $3 +fi[]dnl +])# PKG_CHECK_MODULES + +# 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 /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 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 header file. */ +#undef HAVE_INTTYPES_H + +/* Define if your file defines LC_MESSAGES. */ +#undef HAVE_LC_MESSAGES + +/* Define to 1 if you have the header file. */ +#undef HAVE_LOCALE_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the 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 . 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 ." + +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} + +" diff --git a/depcomp b/depcomp new file mode 100755 index 0000000..df8eea7 --- /dev/null +++ b/depcomp @@ -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 . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + DEPDIR directory where to store dependencies. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit $? + ;; +esac + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi + +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. +depfile=${depfile-`echo "$object" | + sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +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 @@ + Applications.directory + + +- + /etc/X11/applnk + /usr/share/mate/apps + +@@ -18,6 +17,14 @@ + + + ++ ++ ++ Archlinux ++ Archlinux.directory ++ ++ Archlinux ++ ++ + + + Accessories 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 @@ + + + + + Applications + mate-menu-applications.directory + + + + /etc/X11/applnk + /usr/share/mate/apps + + + + + + + + + + + Accessories + mate-utility.directory + + + Utility + + Accessibility + System + + + + + + + Universal Access + mate-utility-accessibility.directory + + + Accessibility + Settings + + + + + + + Development + mate-development.directory + + + Development + + emacs.desktop + + + + + + Education + mate-education.directory + + + Education + + + + + + + Games + mate-game.directory + + + Game + + + + + + + Graphics + mate-graphics.directory + + + Graphics + + + + + + + Internet + mate-network.directory + + + Network + + + + + + + Multimedia + mate-audio-video.directory + + + AudioVideo + + + + + + + Office + mate-office.directory + + + Office + + + + + + + System + mate-system-tools.directory + + + System + Settings + + + + + + + Other + mate-other.directory + + + + Core + Settings + Screensaver + + + + + 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 @@ + + + + + Desktop + mate-menu-system.directory + + + + + + + + + + + matecc.desktop + + + + + Preferences + mate-settings.directory + + + Settings + + + System + matecc.desktop + + + + + + + + + Administration + mate-settings-system.directory + + + Settings + System + + + + + + Preferences + Administration + + + + + 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 + +#include "canonicalize.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +/* 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 + +#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 + +#include "desktop-entries.h" + +#include + +#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 + +#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 + +#include "entry-directories.h" + +#include +#include +#include +#include + +#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 ? "" : ""); + + 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 +#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 + +#include "matemenu-tree.h" + +#include +#include + +#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 */ + 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 %s in \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 %s in \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 %s in \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 */ + } + 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 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 \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 \n"); + } + break; + + case MENU_LAYOUT_NODE_OR: + { + MenuLayoutNode *child; + + menu_verbose ("Processing \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 \n"); + } + break; + + case MENU_LAYOUT_NODE_NOT: + { + /* First get the OR of all the rules */ + MenuLayoutNode *child; + + menu_verbose ("Processing \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 \n"); + } + break; + + case MENU_LAYOUT_NODE_ALL: + menu_verbose ("Processing \n"); + set = desktop_entry_set_new (); + desktop_entry_set_union (set, entry_pool); + menu_verbose ("Processed \n"); + break; + + case MENU_LAYOUT_NODE_FILENAME: + { + DesktopEntry *entry; + + menu_verbose ("Processing %s\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 %s\n", + menu_layout_node_get_content (layout)); + } + break; + + case MENU_LAYOUT_NODE_CATEGORY: + menu_verbose ("Processing %s\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 %s\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 \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 \n"); + } + break; + + case MENU_LAYOUT_NODE_INCLUDE: + { + /* The match rule children of the are + * independent (logical OR) so we can process each one by + * itself + */ + MenuLayoutNode *rule; + + menu_verbose ("Processing (%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 (%d entries)\n", + desktop_entry_set_get_count (entries)); + } + break; + + case MENU_LAYOUT_NODE_EXCLUDE: + { + /* The match rule children of the are + * independent (logical OR) so we can process each one by + * itself + */ + MenuLayoutNode *rule; + + menu_verbose ("Processing (%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 (%d entries)\n", + desktop_entry_set_get_count (entries)); + } + break; + + case MENU_LAYOUT_NODE_DIRECTORY: + { + DesktopEntry *entry; + + menu_verbose ("Processing %s\n", + menu_layout_node_get_content (layout_iter)); + + /* + * The last 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 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 \n"); + deleted = TRUE; + break; + + case MENU_LAYOUT_NODE_NOT_DELETED: + menu_verbose ("Processed \n"); + deleted = FALSE; + break; + + case MENU_LAYOUT_NODE_ONLY_UNALLOCATED: + menu_verbose ("Processed \n"); + only_unallocated = TRUE; + break; + + case MENU_LAYOUT_NODE_NOT_ONLY_UNALLOCATED: + menu_verbose ("Processed \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 \n"); + break; + + case MENU_LAYOUT_NODE_LAYOUT: + collect_layout_info (layout_iter, &directory->layout_info); + menu_verbose ("Processed \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 + +#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 + +#include "menu-layout.h" + +#include +#include +#include +#include +#include + +#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 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, + " element can only appear below other 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 elements in a 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 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 , 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 or is either empty, + * or contain one of type "all", or contain one of type "menus" + * and one of type "files". If this is not the case, we try to clean up + * things: + * + if there is at least one of type "all", then we only keep the + * last of type "all" and remove all others + * + if there is no with type "all", we keep only the last of + * type "menus" and the last of type "files". If there's no + * of type "menus" we append one, and then if there's no 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 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, + "/ 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, + "/ 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, + "/ elements missing under \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 into multiple */ + + 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, + " elements are required to contain a 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 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 + +#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 + +#include "menu-monitor.h" + +#include + +#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 ? "" : ""); +} + +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 + +#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 + +#include "menu-util.h" + +#include +#include + + +#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\n", node_name, attr_name, attr_escaped, escaped, node_name); + + g_free(attr_escaped); + } + else + { + g_string_append_printf(str, "<%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\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, "\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 + +#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 +## Kenneth Christiansen +## +## 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 ],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" +]) diff --git a/missing b/missing new file mode 100755 index 0000000..28055d2 --- /dev/null +++ b/missing @@ -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 , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +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 ." + 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 +# Created: 1993-05-16 +# Public domain. +# +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +nl=' +' +IFS=" "" $nl" +errstatus=0 +dirmode= + +usage="\ +Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... + +Create each directory DIR (with mode MODE, if specified), including all +leading file name components. + +Report bugs to ." + +# process command line arguments +while test $# -gt 0 ; do + case $1 in + -h | --help | --h*) # -h for help + echo "$usage" + exit $? + ;; + -m) # -m PERM arg + shift + test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } + dirmode=$1 + shift + ;; + --version) + echo "$0 $scriptversion" + exit $? + ;; + --) # stop option processing + shift + break + ;; + -*) # unknown option + echo "$usage" 1>&2 + exit 1 + ;; + *) # first non-opt arg + break + ;; + esac +done + +for file +do + if test -d "$file"; then + shift + else + break + fi +done + +case $# in + 0) exit 0 ;; +esac + +# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and +# mkdir -p a/c at the same time, both will detect that a is missing, +# one will create a, then the other will try to create a and die with +# a "File exists" error. This is a problem when calling mkinstalldirs +# from a parallel make. We use --version in the probe to restrict +# ourselves to GNU mkdir, which is thread-safe. +case $dirmode in + '') + if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + echo "mkdir -p -- $*" + exec mkdir -p -- "$@" + else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + test -d ./-p && rmdir ./-p + test -d ./--version && rmdir ./--version + fi + ;; + *) + if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && + test ! -d ./--version; then + echo "mkdir -m $dirmode -p -- $*" + exec mkdir -m "$dirmode" -p -- "$@" + else + # Clean up after NextStep and OpenStep mkdir. + for d in ./-m ./-p ./--version "./$dirmode"; + do + test -d $d && rmdir $d + done + fi + ;; +esac + +for file +do + case $file in + /*) pathcomp=/ ;; + *) pathcomp= ;; + esac + oIFS=$IFS + IFS=/ + set fnord $file + shift + IFS=$oIFS + + for d + do + test "x$d" = x && continue + + pathcomp=$pathcomp$d + case $pathcomp in + -*) pathcomp=./$pathcomp ;; + esac + + if test ! -d "$pathcomp"; then + echo "mkdir $pathcomp" + + mkdir "$pathcomp" || lasterr=$? + + if test ! -d "$pathcomp"; then + errstatus=$lasterr + else + if test ! -z "$dirmode"; then + echo "chmod $dirmode $pathcomp" + lasterr= + chmod "$dirmode" "$pathcomp" || lasterr=$? + + if test ! -z "$lasterr"; then + errstatus=$lasterr + fi + fi + fi + fi + + pathcomp=$pathcomp/ + done +done + +exit $errstatus + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: 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 , 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 \n" +"Language-Team: translate-discuss-af@lists.sourceforge.net\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 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 " " +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 , 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 \n" +"Language-Team: Aragonés \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 , 2006. +# Khaled Hosny , 2006, 2007, 2008, 2009. +# Anas Husseini , 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 \n" +"Language-Team: Arabic \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 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 " " +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 , 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 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 " " +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 "ব্যক্তিগত পছন্দ এবং বৈশিষ্ট্যাবলী" + 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 , 2007. +# Xose S. Puente , 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 \n" +"Language-Team: Asturian \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 d entries" +msgstr "Incluyir entraes " + +#: ../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 " " +msgstr " " + +#: ../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 , 2005, 2007 +# Ihar Hrachyshka , 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 \n" +"Language-Team: Belarusian \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 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 " " +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/be@latin.po b/po/be@latin.po new file mode 100644 index 0000000..9d04209 --- /dev/null +++ b/po/be@latin.po @@ -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 , 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 \n" +"Language-Team: Belarusian Latin \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 d entries" +msgstr "Uklučna z 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 " " +msgstr " " + +#: ../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 , 2004, 2005, 2007. +# Rostislav "zbrox" Raykov , 2005. +# Alexander Shopov , 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 \n" +"Language-Team: Bulgarian \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 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 " " +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 , 2005. +# Samia Niamatullah , 2005. +# Sadia Afroz , 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 \n" +"Language-Team: Bengali \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 "মেনু পরিবর্তনের মনিটর" + +# = variable? +#: ../util/test-menu-spec.c:35 +msgid "Include d entries" +msgstr "বাদ দেয়া অংশগুলো অন্তর্ভুক্ত করো" + +# = 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 " " +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 দ্বারা ডেস্কটপ মেনু বৈশিষ্ট্যাবলীর প্রয়োগ পরীক্ষা করো" + +# 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 , 2005. +# Samia Niamatullah , 2005. +# Runa Bhattacharjee , 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 \n" +"Language-Team: Bengali INDIA \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 "মেনু পরিবর্তন নিরীক্ষণ ব্যবস্থা" + +# = variable? +#: ../util/test-menu-spec.c:35 +msgid "Include d entries" +msgstr " করা এন্ট্রিগুলি অন্তর্ভুক্ত করা হবে" + +# = 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 " " +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/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 , 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 \n" +"Language-Team: MATE Breton Team \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 d entries" +msgstr "Enlakaat enankadoù forc'het gant " + +#: ../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 " " +msgstr " " + +#: ../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 , 2004, 2005, 2006, 2007. +# Gil Forcada , 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 \n" +"Language-Team: Catalan \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 d entries" +#~ msgstr "Inclou entrades excloses amb " + +#~ 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 " " +#~ msgstr " " + +#~ 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/ca@valencia.po b/po/ca@valencia.po new file mode 100644 index 0000000..27db3e0 --- /dev/null +++ b/po/ca@valencia.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 , 2004, 2005, 2006, 2007. +# Gil Forcada , 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 \n" +"Language-Team: Catalan \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 d entries" +#~ msgstr "Inclou entrades excloses amb " + +#~ 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 " " +#~ msgstr " " + +#~ 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 , 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 \n" +"Language-Team: QIRIMTATARCA (Qırım Türkçesi) \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 d entries" +msgstr "Müstesna () 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 " " +msgstr " " + +#: ../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 . +# This file is distributed under the same license as the mate-menus package. +# Miloslav Trmac , 2004, 2005. +# Petr Tomeš , 2006. +# Jakub Friedl , 2007. +# Petr Kovar , 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 \n" +"Language-Team: Czech \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 d entries" +msgstr "Zahrne položky \"\"" + +#: ../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 " " +msgstr " " + +#: ../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 , 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 \n" +"Language-Team: Welsh \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 d entries" +msgstr "Cynnwys y cofnodion a " + +#: ../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 " " +msgstr " " + +#: ../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 , 2004. +# Martin Willemoes Hansen , 2005. +# Ole Laursen , 2006. +# Peter Bach , 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 \n" +"Language-Team: Danish \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 d entries" +msgstr "Medtag ekskluderede punkter ()" + +#: ../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 " " +msgstr " " + +#: ../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 , 2004-2005. +# Hendrik Richter , 2006, 2007. +# Mario Blättermann , 2009. +# Christian Kirbach , 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 \n" +"Language-Team: Deutsch \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 d entries" +#~ msgstr "Mit »« 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 " " +#~ msgstr " " + +#~ 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 , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-menus\n" +"Report-Msgid-Bugs-To: Inash Zubair \n" +"POT-Creation-Date: 2009-03-17 15:27+0000\n" +"PO-Revision-Date: 2009-05-05 21:16+0000\n" +"Last-Translator: Huxain \n" +"Language-Team: Divehi \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 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 " " +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 \n" +"Language-Team: DZONGKHA \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 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 " " +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 , 2004. +# Nikos Charonitakis , 2005. +# Kostas Papadimas , 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 \n" +"Language-Team: Greek \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 d entries" +#~ msgstr "Να συμπεριλαμβάνονται <αποκλεισμένες> καταχωρίσεις" +#~ msgid "Include NoDisplay=true entries" +#~ msgstr "Να συμπεριλαμβάνονται <αποκλεισμένες> καταχωρίσεις" +#~ msgid "Invalid desktop file ID" +#~ msgstr "Μη έγκυρο αναγνωριστικό αρχείου επιφάνειας εργασίας" +#~ msgid "[Invalid Filename]" +#~ msgstr "[Μη έγκυρο όνομα αρχείου]" +#~ msgid " " +#~ 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/en@shaw.po b/po/en@shaw.po new file mode 100644 index 0000000..8e07ca0 --- /dev/null +++ b/po/en@shaw.po @@ -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 , 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 \n" +"Language-Team: Shavian \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 , 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 \n" +"Language-Team: Canadian English \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 d entries" +msgstr "Include 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 " " +msgstr " " + +#: ../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 , 2005. +# Philip Withnall , 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 \n" +"Language-Team: British English \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 d entries" +msgstr "Include 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 " " +msgstr " " + +#: ../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 , 2006 +# Guillaume SAVATON , 2006 +# Kristjan SCHMIDT , 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 \n" +"Language-Team: Esperanto \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 " " +#~ msgstr " " + +#~ 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 , 2005, 2006. +# Claudio Saavedra , 2007. +# Jorge González , 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 \n" +"Language-Team: Español \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 d entries" +msgstr "Incluir entradas " + +#: ../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 " " +msgstr " " + +#: ../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 , 2005. +# Ivar Smolin , 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 \n" +"Language-Team: Estonian \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 d entries" +msgstr "Kaasa ka kirjed" + +msgid "Include NoDisplay=true entries" +msgstr "Kaasa ka kirjed" + +msgid "Invalid desktop file ID" +msgstr "Vigane töölauafaili ID" + +msgid "[Invalid Filename]" +msgstr "[Vigane failinimi]" + +msgid " " +msgstr "" + +#, 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 , 2004, 2005. +# Iñaki Larrañaga Murgoitio , 2005, 2007, 2008, 2009, 2010. +# Iñaki Larrañaga Murgoitio , 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 \n" +"Language-Team: Basque \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 d entries" +msgstr "Txertatu 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 " " +msgstr " " + +#: ../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 , 2005. +# Meelad Zakaria , 2005. +# Roozbeh Pournader , 2005, 2008. +# Arash Mousavi , 2008. +# Elnaz Sarbar , 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 \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 d entries" +msgstr "شامل کردن مدخل‌های شده‏" + +#: ../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 " " +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 , 2004-2005. +# Ilkka Tuohela , 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 \n" +"Language-Team: Finnish \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 d entries" +msgstr "Näytä myös piilotetut () 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 " " +msgstr "" + +#: ../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 , 2004-2005. +# Vincent Untz , 2005. +# Christophe Merlet , 2005. +# Robert-André Mauchin , 2007. +# Stéphane Raimbault , 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 \n" +"Language-Team: MATE French team \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 d entries" +msgstr "Inclure les entrées exclues avec " + +#: ../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 " " +msgstr " " + +#: ../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 , 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 \n" +"Language-Team: FRIULIAN \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 d entries" +msgstr "Meti dentri lis vôs " + +#: ../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 " " +msgstr " " + +#: ../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 , 2009-2010. +# Jaap Haitsma , 2007. +# Peter Hoogsteen , 2008. +# Sietse <>, 2009. +# berend , 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 \n" +"Language-Team: Frisian \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 , 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 \n" +"Language-Team: Irish \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 d entries" +msgstr "Cuir iontrálacha á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 " " +msgstr "" + +#: ../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 , 2005. +# Ignacio Casal Quinteiro , 2007,2009. +# Mancomún - Centro de Referencia e Servizos de Software Libre , 2009. +# Suso Baleato ,2009. +# Fran Dieguez , 2009. +# Anton Meixome , 2009. +# Fran Diéguez , 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 \n" +"Language-Team: Galician \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: 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 d entries" +#~ msgstr "Incluír entradas " + +#~ 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 " " +#~ msgstr " " + +#~ 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 \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 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 " " +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 , 2007. +# Ankit Patel , 2007. +# Sweta Kothari , 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 \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 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 "ડેસ્કટોપ ફાઈલ ID અયોગ્ય છે" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[અયોગ્ય ફાઈલનામ]" + +#: ../util/test-menu-spec.c:93 +msgid " " +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/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 , 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 \n" +"Language-Team: Manx \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: \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 d entries" +msgstr "Haɗa da bayanen da aka shigar" + +#: ../util/test-menu-spec.c:36 +#, fuzzy +msgid "Include NoDisplay=true entries" +msgstr "Haɗa 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 " " +msgstr " " + +#: ../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 , 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 \n" +"Language-Team: \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 d entries" +msgstr "Include 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 " " +msgstr " " + +#: ../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 , 2004. +# Rajesh Ranjan , 2005, 2006, 2008, 2009. +# Rajesh Ranjan , 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 \n" +"Language-Team: Hindi \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 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 " " +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 , 2005. +# Translators: Krešo Kunjas +# +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 \n" +"Language-Team: Croatian \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 d entries" +msgstr "Uključi 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 " " +msgstr " " + +#: ../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 , 2004, 2005, 2006, 2007, 2008, 2009. +# Laszlo Dvornik , 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 \n" +"Language-Team: Hungarian \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 d entries" +msgstr " 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 " " +msgstr " " + +#: ../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 +# Norayr Chilingaryan +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 \n" +"Language-Team: \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 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 " " +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 , 2005. +# Dirgita , 2010. +# Dirgita , 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 \n" +"Language-Team: MATE Indonesian Translation Team \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: \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 d entries" +msgstr "Gbakwunye mbanye ahụ" + +#: ../util/test-menu-spec.c:36 +#, fuzzy +msgid "Include NoDisplay=true entries" +msgstr "Gbakwunye 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 " " +msgstr "" + +#: ../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 , 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 \n" +"Language-Team: Ido \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 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 " " +msgstr "" + +#: ../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 , 2008. +# Sveinn í Felli , 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 \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 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 " " +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 , 2005, 206, 2007, 2008, 2009. +# Luca Ferretti , 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 \n" +"Language-Team: Italian \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 d entries" +msgstr "Includere le voci " + +#: ../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 " " +msgstr " " + +#: ../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 , 2004. +# Takeshi AIHANA , 2005-2007. +# Takayuki KUSANO , 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 \n" +"Language-Team: Japanese \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 d entries" +#~ msgstr " のエントリを含める" + +#~ msgid "Include NoDisplay=true entries" +#~ msgstr "NoDisplay=true のエントリを含める" + +#~ msgid "Invalid desktop file ID" +#~ msgstr ".desktop ファイルの ID が間違っています" + +#~ msgid "[Invalid Filename]" +#~ msgstr "[ファイル名が間違っています]" + +#~ msgid " " +#~ 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 "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 \n" +"Language-Team: Georgian \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 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 " " +msgstr " " + +#: ../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 , 2008 +# Erzhan Shaniev , 2008 +# Baurzhan Muftakhidinov , 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 \n" +"Language-Team: Kazakh \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 d entries" +#~ msgstr "Шығарылған элементтерді іске келтіру" + +#~ msgid "Include NoDisplay=true entries" +#~ msgstr "NoDisplay=true элементтерін іске келтіру" + +#~ msgid "Invalid desktop file ID" +#~ msgstr "Desktop-файлдың ID-і қате" + +#~ msgid "[Invalid Filename]" +#~ msgstr "[файлдың аты дұрыс емес]" + +#~ msgid " " +#~ 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-дің тексерісі" 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 , 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 \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 d entries" +#~ msgstr "ಆದಂತಹ ನಮೂದುಗಳನ್ನು ಅಡಕಗೊಳಿಸು" + +#~ msgid "Include NoDisplay=true entries" +#~ msgstr "NoDisplay=true ನಮೂದನ್ನು ಅಡಕಗೊಳಿಸು" + +#~ msgid "Invalid desktop file ID" +#~ msgstr "ಸಿಂಧುವಲ್ಲದ ಗಣಕತೆರೆ ಕಡತ ID" + +#~ msgid "[Invalid Filename]" +#~ msgstr "[ಸಿಂಧುವಲ್ಲದ ಕಡತಹೆಸರು]" + +#~ msgid " " +#~ msgstr " " + +#~ 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 , 2000. +# Young-Ho Cha , 2000,2001,2003, 2007. +# Eunju Kim , 2007. +# Changwoo Ryu , 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 \n" +"Language-Team: MATE Korea \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 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 " " +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 , 2005. +# Erdal Ronahi , 2005. +# Erdal Ronahi , 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 \n" +"Language-Team: Kurdish \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 d entries" +msgstr "Yên 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 " " +msgstr " " + +#: ../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 , 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 \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 d entries" +msgstr "Алынып салынган () элементтерди кошуу" + +#: ../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 " " +msgstr " " + +#: ../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ė , 2005. +# Žygimantas Beručka , 2004-2007. +# Gintautas Miliauskas , 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 \n" +"Language-Team: Lithuanian \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 d entries" +msgstr "Įtraukti 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 " " +msgstr " " + +#: ../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 , 2006, 2007, 2009. +# Peteris Krisjanis , 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 \n" +"Language-Team: Latviešu \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 d entries" +#~ msgstr "Pievienot 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 " " +#~ msgstr " " + +#~ 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 , 2008. +# Rajesh Ranjan , 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 \n" +"Language-Team: Hindi \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 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 "अमान्य डेस्कटाप फाइल ID" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[अमान्य फाइलनाम]" + +#: ../util/test-menu-spec.c:93 +msgid " " +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/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 , 2006. +# Thierry Randrianiriana \n" +"Language-Team: Malagasy \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 d entries" +msgstr "Ampidiro ao ireo fidirana 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 " " +msgstr " " + +#: ../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. +# Арангел Ангов , 2005. +# Arangel Angov , 2006. +# Jovan Naumovski , 2006, 2007. +# Arangel Angov , 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 \n" +"Language-Team: Macedonian \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 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 " " +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 , 2006. +# Praveen|പ്രവീണ്‍ A|എ , 2007,2008. +# Ani Peter , 2007. +# Reviewed by Santhosh Thottingal +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: \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 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 " " +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/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 , 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 \n" +"Language-Team: Mongolian \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 d entries" +#~ msgstr "<Хассан> элементүүд оруулах" + +#~ msgid "Include NoDisplay=true entries" +#~ msgstr "NoDisplay=true элемент оруулах" + +#~ msgid "Invalid desktop file ID" +#~ msgstr "Хүчингүй ажлын талбар файлын ID" + +#~ msgid "[Invalid Filename]" +#~ msgstr "[Хүчингүй файлын нэр]" + +#~ msgid " " +#~ 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 , 2005. +# Rahul Bhalerao , 2006. +# Sandeep Shedmake , 2008, 2009. +# Sandeep Shedmake , 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 \n" +"Language-Team: Marathi \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 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 " " +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) , 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 \n" +"Language-Team: ms \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 , 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 "Animation" +#~ msgstr "Animasi" + +#~ msgid "General" +#~ msgstr "Umum" + +#~ 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 "Restoring Minimized Windows" +#~ msgstr "Memulih Tetingkap diminiatur" + +#~ msgid "Window Grouping" +#~ msgstr "Pengumpulan tetingkap" + +#~ msgid "Window List Content" +#~ msgstr "Kandungan Senarai Tetingkap" + +#~ msgid "Window List Size" +#~ msgstr "Saiz Senarai Tetingkap" + +#~ 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 "Switcher" +#~ msgstr "Penukar" + +#~ msgid "Workspaces" +#~ msgstr "RuangKerja" + +#~ 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 ." +#~ msgstr "" +#~ "Klik pada tetingkap untuk memaksa aplikasi keluar. Untuk membatal tekan " +#~ "." + +#~ 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 "Opaque" +#~ msgstr "Opaque" + +#~ msgid "Transparent" +#~ msgstr "Telus" + +#~ 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 "Options" +#~ msgstr "Opsyen" + +#~ msgid "Preview" +#~ msgstr "Prebiu" + +#~ 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 , 2004-2008. +# Terance Edward Sola , 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 \n" +"Language-Team: Norwegian Bokmal \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 d entries" +msgstr "Ta med oppføringer i 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 " " +msgstr " " + +#: ../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 , 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 \n" +"Language-Team: Low German \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 d entries" +msgstr "Föge 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 " " +msgstr " " + +#: ../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 , 2005. +# Ganesh Ghimire , 2005. +# Nabin Gautam , 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 \n" +"Language-Team: Nepali \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 d entries" +msgstr "समाविष्ट प्रविष्टि" + +#: ../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 " " +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 "- डेस्कटप मेनु विशिष्टिकरणको जिनोम कार्यान्वयनको परीक्षण गर्नुहोस्" + 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 , 2004 +# Tino Meinen , 2005 +# Wouter Bolsterlee , 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 \n" +"Language-Team: Dutch \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 d entries" +#~ msgstr "Inclusief 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 " " +#~ msgstr " " + +#~ 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 , 2001. +# Roy-Magne Mo , 2001. +# Åsmund Skjæveland , 2003, 2004. +# Kjartan Maraas , 2005. +# Eskild Hustvedt , 2008. +# Torstein Adolf Winterseth , 2010. +# Torstein Winterseth , 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 \n" +"Language-Team: i18n-nn@lister.ping.uio.no\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 d entries" +#~ msgstr "Inkluder oppføringar som har blitt ekskludert med " + +#~ 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 " " +#~ msgstr " " + +#~ 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) , 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) \n" +"Language-Team: Occitan \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 d entries" +msgstr "Inclure las entradas exclusas amb " + +#: ../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 " " +msgstr " " + +#: ../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 , 2006. +# Manoj Kumar Giri , 2008. +# Manoj Kumar Giri , 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 \n" +"Language-Team: Oriya \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 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 " " +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 , 2005,2006,2007,2008,2009. +# Amanpreet Singh Alam , 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 \n" +"Language-Team: Punjabi/Panjabi \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 d entries" +msgstr " ਐਂਟਰੀ ਸ਼ਾਮਲ" + +#: ../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 " " +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/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: +# matepl@aviary.pl +# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +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 \n" +"Language-Team: Polish \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 d entries" +msgstr "Włącznie z 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 " " +msgstr " " + +#: ../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 , 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 \n" +"Language-Team: Pashto \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 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 " " +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 , 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 \n" +"Language-Team: Portuguese \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 d entries" +msgstr "Incluir entradas (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 " " +msgstr " (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 , 2004-2005. +# Afonso Celso Medina , 2005. +# Og Maciel , 2006-2007. +# Leonardo Ferreira Fontenelle , 2007, 2008. +# Fabrício Godoy , 2008 +# Krix Apolinário , 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 \n" +"Language-Team: Brazilian Portuguese \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 d entries" +msgstr "Inclui entradas 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 " " +msgstr " " + +#: ../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 , 2005. +# Alexandru Szasz , 2007. +# Adi Roiban , 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 \n" +"Language-Team: Romanian \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 d entries" +msgstr "Include elementele cu eticheta " + +#: ../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 " " +msgstr " " + +#: ../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 , 2004. +# Leonid Kanter , 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 \n" +"Language-Team: Russian \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 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 " " +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 "" +"- проверка реализации спецификации 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 , 2005 +# Steve performed initial rough translation from compendium built from translations provided by the following translators: +# Philibert Ndandali , 2005. +# Viateur MUGENZI , 2005. +# Noëlla Mupole , 2005. +# Carole Karema , 2005. +# JEAN BAPTISTE NGENDAHAYO , 2005. +# Augustin KIBERWA , 2005. +# Donatien NSENGIYUMVA , 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 \n" +"Language-Team: Kinyarwanda \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 , 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 \n" +"Language-Team: Sinhala \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 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 " " +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/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 , 2004, 2005. +# Peter Tuharsky , 2007. +# Pavol Klačanský , 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ý \n" +"Language-Team: Slovak \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 , 2006. +# Matej Urbančič , 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č \n" +"Language-Team: Slovenian MATE Translation Team \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 d entries" +msgstr "Vključi 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 " " +msgstr " " + +#: ../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 , 2005-2007. +# Laurent Dhima , 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 \n" +"Language-Team: albanian \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 d entries" +msgstr "Përfshi 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 " " +msgstr " " + +#: ../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: Данило Шеган +# Reviewed on 2005-09-03 by: Данило Шеган " +# Transalted on 2006-01-31 by: Слободан Д. Средојевић +# +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: Горан Ракић \n" +"Language-Team: Serbian (sr) \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 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 " " +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/sr@latin.po b/po/sr@latin.po new file mode 100644 index 0000000..6410c3b --- /dev/null +++ b/po/sr@latin.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: Danilo Šegan +# Reviewed on 2005-09-03 by: Danilo Šegan " +# Transalted on 2006-01-31 by: Slobodan D. Sredojević +# +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ć \n" +"Language-Team: Serbian (sr) \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 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 " " +msgstr " " + +#: ../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 , 2004, 2005, 2006. +# Daniel Nylander , 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 \n" +"Language-Team: Swedish \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 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 " " +msgstr " " + +#: ../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 "" +#~ msgstr "" +#~ 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 , 2006. +# Jayaradha N , 2006. +# Dr.T.Vasudevan , 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 \n" +"Language-Team: Tamil \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 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 " " +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 , 2005. +# Bharat Kumar , 2007. +# Krishna Babu K , 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 \n" +"Language-Team: Telugu \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 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 " " +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 , 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 \n" +"Language-Team: Thai \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 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 " " +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 , 2006. +# Baris Cicek , 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 \n" +"Language-Team: Turkish \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 d entries" +msgstr " 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 " " +msgstr " " + +#: ../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 +# Sahran +# +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 \n" +"Language-Team: Uyghur Computer Science Association \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 , 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 \n" +"Language-Team: Ukrainian \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 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 "Неправильний ідентифікатор desktop-файлу" + +#: ../util/test-menu-spec.c:92 +msgid "[Invalid Filename]" +msgstr "[Неправильна назва файлу]" + +#: ../util/test-menu-spec.c:93 +msgid " " +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/uz@cyrillic.po b/po/uz@cyrillic.po new file mode 100644 index 0000000..a62c6b5 --- /dev/null +++ b/po/uz@cyrillic.po @@ -0,0 +1,270 @@ +# translation of uz@cyrillic.po to Uzbek +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Nurali Abdurahmonov , 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 \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 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 " " +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 "" + 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 , 2004. +# Clytie Siddall , 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 \n" +"Language-Team: Vietnamese \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 d entries" +msgstr "Gồm các mục nhập bị " + +#: ../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 " " +msgstr " " + +#: ../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 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 \n" +"Language-Team: Xhosa \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 \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 d entries" +msgstr "Fi àwọn àmúwọlé si" + +#: ../util/test-menu-spec.c:36 +#, fuzzy +msgid "Include NoDisplay=true entries" +msgstr "Fi àwọn àmúwọlé 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 " " +msgstr " " + +#: ../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 , 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) \n" +"Language-Team: zh_CN \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 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 " " +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 , 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 \n" +"Language-Team: Chinese (Hong Kong) \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 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 " " +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 , 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 \n" +"Language-Team: Chinese/Traditional \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 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 " " +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 . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +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 . +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 + +#include +#include + +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 +# +# 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 = ' ' + 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 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 + +#include "matemenu-tree.h" + +#include + +/* 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 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) ? _(" ") : "", + matemenu_tree_entry_get_is_nodisplay(entry) ? _(" ") : ""); + + 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; +} -- cgit v1.2.1