summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS3
-rw-r--r--COPYING339
-rw-r--r--COPYING.LIB481
-rw-r--r--ChangeLog1
-rw-r--r--HACKING31
-rw-r--r--MAINTAINERS12
-rw-r--r--Makefile.am36
-rw-r--r--NEWS1
-rw-r--r--README44
-rw-r--r--aclocal.m42177
-rwxr-xr-xautogen.sh25
-rw-r--r--config.h.in83
-rwxr-xr-xconfig.sub1705
-rw-r--r--configure.ac171
-rwxr-xr-xdepcomp630
-rw-r--r--desktop-directories/Makefile.am37
-rw-r--r--desktop-directories/mate-audio-video.directory.in5
-rw-r--r--desktop-directories/mate-development.directory.in5
-rw-r--r--desktop-directories/mate-education.directory.in4
-rw-r--r--desktop-directories/mate-game.directory.in5
-rw-r--r--desktop-directories/mate-graphics.directory.in5
-rw-r--r--desktop-directories/mate-hardware.directory.in5
-rw-r--r--desktop-directories/mate-internet-and-network.directory.in5
-rw-r--r--desktop-directories/mate-look-and-feel.directory.in5
-rw-r--r--desktop-directories/mate-menu-applications.directory.in5
-rw-r--r--desktop-directories/mate-menu-system.directory.in5
-rw-r--r--desktop-directories/mate-network.directory.in5
-rw-r--r--desktop-directories/mate-office.directory.in5
-rw-r--r--desktop-directories/mate-other.directory.in5
-rw-r--r--desktop-directories/mate-personal.directory.in6
-rw-r--r--desktop-directories/mate-settings-system.directory.in5
-rw-r--r--desktop-directories/mate-settings.directory.in5
-rw-r--r--desktop-directories/mate-system-tools.directory.in5
-rw-r--r--desktop-directories/mate-system.directory.in5
-rw-r--r--desktop-directories/mate-utility-accessibility.directory.in5
-rw-r--r--desktop-directories/mate-utility.directory.in5
-rw-r--r--distro/archlinux/PKGBUILD29
-rw-r--r--distro/archlinux/menus.patch25
-rwxr-xr-xdistro/ubuntu/build27
-rwxr-xr-xinstall-sh520
-rw-r--r--layout/Makefile.am9
-rw-r--r--layout/mate-applications.menu154
-rw-r--r--layout/mate-settings.menu57
-rw-r--r--libmenu/Makefile.am78
-rw-r--r--libmenu/canonicalize.c326
-rw-r--r--libmenu/canonicalize.h38
-rw-r--r--libmenu/desktop-entries.c816
-rw-r--r--libmenu/desktop-entries.h90
-rw-r--r--libmenu/entry-directories.c1105
-rw-r--r--libmenu/entry-directories.h67
-rw-r--r--libmenu/libmate-menu-uninstalled.pc.in11
-rw-r--r--libmenu/libmate-menu.pc.in11
-rw-r--r--libmenu/matemenu-tree.c4520
-rw-r--r--libmenu/matemenu-tree.h135
-rw-r--r--libmenu/menu-layout.c2359
-rw-r--r--libmenu/menu-layout.h161
-rw-r--r--libmenu/menu-monitor.c440
-rw-r--r--libmenu/menu-monitor.h70
-rw-r--r--libmenu/menu-util.c436
-rw-r--r--libmenu/menu-util.h59
-rw-r--r--m4/intltool.m4216
-rw-r--r--m4/ltsugar.m4123
-rw-r--r--m4/python.m486
-rwxr-xr-xmissing376
-rwxr-xr-xmkinstalldirs162
-rw-r--r--po/LINGUAS100
-rw-r--r--po/POTFILES.in28
-rw-r--r--po/POTFILES.skip3
-rw-r--r--po/af.po258
-rw-r--r--po/an.po211
-rw-r--r--po/ar.po270
-rw-r--r--po/as.po277
-rw-r--r--po/ast.po265
-rw-r--r--po/be.po269
-rw-r--r--po/[email protected]275
-rw-r--r--po/bg.po272
-rw-r--r--po/bn.po301
-rw-r--r--po/bn_IN.po280
-rw-r--r--po/br.po266
-rw-r--r--po/ca.po272
-rw-r--r--po/[email protected]272
-rw-r--r--po/crh.po271
-rw-r--r--po/cs.po269
-rw-r--r--po/cy.po231
-rw-r--r--po/da.po284
-rw-r--r--po/de.po273
-rw-r--r--po/dv.po260
-rw-r--r--po/dz.po275
-rw-r--r--po/el.po255
-rw-r--r--po/[email protected]211
-rw-r--r--po/en_CA.po232
-rw-r--r--po/en_GB.po283
-rw-r--r--po/eo.po315
-rw-r--r--po/es.po281
-rw-r--r--po/et.po219
-rw-r--r--po/eu.po269
-rw-r--r--po/fa.po272
-rw-r--r--po/fi.po282
-rw-r--r--po/fr.po274
-rw-r--r--po/fur.po270
-rw-r--r--po/fy.po269
-rw-r--r--po/ga.po267
-rw-r--r--po/gl.po272
-rw-r--r--po/gn.po218
-rw-r--r--po/gu.po270
-rw-r--r--po/gv.po279
-rw-r--r--po/ha.po272
-rw-r--r--po/he.po276
-rw-r--r--po/hi.po277
-rw-r--r--po/hr.po271
-rw-r--r--po/hu.po268
-rw-r--r--po/hy.po266
-rw-r--r--po/id.po217
-rw-r--r--po/ig.po270
-rw-r--r--po/io.po267
-rw-r--r--po/is.po268
-rw-r--r--po/it.po267
-rw-r--r--po/ja.po263
-rw-r--r--po/ka.po238
-rw-r--r--po/kk.po255
-rw-r--r--po/kn.po256
-rw-r--r--po/ko.po268
-rw-r--r--po/ku.po285
-rw-r--r--po/ky.po227
-rw-r--r--po/lt.po280
-rw-r--r--po/lv.po261
-rw-r--r--po/mai.po272
-rw-r--r--po/mg.po237
-rw-r--r--po/mk.po277
-rw-r--r--po/ml.po269
-rw-r--r--po/mn.po273
-rw-r--r--po/mr.po274
-rw-r--r--po/ms.po2260
-rw-r--r--po/nb.po266
-rw-r--r--po/nds.po268
-rw-r--r--po/ne.po275
-rw-r--r--po/nl.po281
-rw-r--r--po/nn.po275
-rw-r--r--po/oc.po266
-rw-r--r--po/or.po274
-rw-r--r--po/pa.po275
-rw-r--r--po/pl.po280
-rw-r--r--po/ps.po259
-rw-r--r--po/pt.po282
-rw-r--r--po/pt_BR.po316
-rw-r--r--po/ro.po269
-rw-r--r--po/ru.po274
-rw-r--r--po/rw.po150
-rw-r--r--po/si.po271
-rw-r--r--po/sk.po213
-rw-r--r--po/sl.po274
-rw-r--r--po/sq.po278
-rw-r--r--po/sr.po287
-rw-r--r--po/[email protected]287
-rw-r--r--po/sv.po310
-rw-r--r--po/ta.po276
-rw-r--r--po/te.po270
-rw-r--r--po/th.po281
-rw-r--r--po/tr.po276
-rw-r--r--po/ug.po297
-rw-r--r--po/uk.po281
-rw-r--r--po/[email protected]270
-rw-r--r--po/vi.po279
-rw-r--r--po/xh.po127
-rw-r--r--po/yo.po270
-rw-r--r--po/zh_CN.po268
-rw-r--r--po/zh_HK.po279
-rw-r--r--po/zh_TW.po279
-rwxr-xr-xpy-compile146
-rw-r--r--python/Makefile.am20
-rw-r--r--python/matemenu.c1948
-rw-r--r--util/Makefile.am31
-rw-r--r--util/mate-menus-ls.py94
-rw-r--r--util/test-menu-spec.c225
174 files changed, 49563 insertions, 0 deletions
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000..e0deab2
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,3 @@
+Mark McLoughlin <[email protected]>
+Havoc Pennington <[email protected]>
+Vincent Untz <[email protected]>
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.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/COPYING.LIB b/COPYING.LIB
new file mode 100644
index 0000000..5bc8fb2
--- /dev/null
+++ b/COPYING.LIB
@@ -0,0 +1,481 @@
+ GNU LIBRARY GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1991 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the library GPL. It is
+ numbered 2 because it goes with version 2 of the ordinary GPL.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Library General Public License, applies to some
+specially designated Free Software Foundation software, and to any
+other libraries whose authors decide to use it. You can use it for
+your libraries, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if
+you distribute copies of the library, or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link a program with the library, you must provide
+complete object files to the recipients so that they can relink them
+with the library, after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ Our method of protecting your rights has two steps: (1) copyright
+the library, and (2) offer you this license which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ Also, for each distributor's protection, we want to make certain
+that everyone understands that there is no warranty for this free
+library. If the library is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original
+version, so that any problems introduced by others will not reflect on
+the original authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that companies distributing free
+software will individually obtain patent licenses, thus in effect
+transforming the program into proprietary software. To prevent this,
+we have made it clear that any patent must be licensed for everyone's
+free use or not licensed at all.
+
+ Most GNU software, including some libraries, is covered by the ordinary
+GNU General Public License, which was designed for utility programs. This
+license, the GNU Library General Public License, applies to certain
+designated libraries. This license is quite different from the ordinary
+one; be sure to read it in full, and don't assume that anything in it is
+the same as in the ordinary license.
+
+ The reason we have a separate public license for some libraries is that
+they blur the distinction we usually make between modifying or adding to a
+program and simply using it. Linking a program with a library, without
+changing the library, is in some sense simply using the library, and is
+analogous to running a utility program or application program. However, in
+a textual and legal sense, the linked executable is a combined work, a
+derivative of the original library, and the ordinary General Public License
+treats it as such.
+
+ Because of this blurred distinction, using the ordinary General
+Public License for libraries did not effectively promote software
+sharing, because most developers did not use the libraries. We
+concluded that weaker conditions might promote sharing better.
+
+ However, unrestricted linking of non-free programs would deprive the
+users of those programs of all benefit from the free status of the
+libraries themselves. This Library General Public License is intended to
+permit developers of non-free programs to use free libraries, while
+preserving your freedom as a user of such programs to change the free
+libraries that are incorporated in them. (We have not seen how to achieve
+this as regards changes in header files, but we have achieved it as regards
+changes in the actual functions of the Library.) The hope is that this
+will lead to faster development of free libraries.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, while the latter only
+works together with the library.
+
+ Note that it is possible for a library to be covered by the ordinary
+General Public License rather than by this special one.
+
+ GNU LIBRARY GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library which
+contains a notice placed by the copyright holder or other authorized
+party saying it may be distributed under the terms of this Library
+General Public License (also called "this License"). Each licensee is
+addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also compile or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ c) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ d) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the source code distributed need not include anything that is normally
+distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Library General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1 @@
+
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
+Userid: vuntz
+
+Non-active maintainers, who have a good understanding of the code
+-----------------------------------------------------------------
+
+#Mark McLoughlin
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 <[email protected]>, 1995, 1996
+#
+# Modified to never use included libintl.
+# Owen Taylor <[email protected]>, 12/15/1998
+#
+# Major rework to remove unused code
+# Owen Taylor <[email protected]>, 12/11/2002
+#
+# Added better handling of ALL_LINGUAS from GNU gettext version
+# written by Bruno Haible, Owen Taylor <otaylor.redhat.com> 5/30/3002
+#
+# Modified to require ngettext
+# Matthias Clasen <[email protected]> 08/06/2004
+#
+# We need this here as well, since someone might use autoconf-2.5x
+# to configure GLib then an older version to configure a package
+# using AM_GLIB_GNU_GETTEXT
+AC_PREREQ(2.53)
+
+dnl
+dnl We go to great lengths to make sure that aclocal won't
+dnl try to pull in the installed version of these macros
+dnl when running aclocal in the glib directory.
+dnl
+m4_copy([AC_DEFUN],[glib_DEFUN])
+m4_copy([AC_REQUIRE],[glib_REQUIRE])
+dnl
+dnl At the end, if we're not within glib, we'll define the public
+dnl definitions in terms of our private definitions.
+dnl
+
+# GLIB_LC_MESSAGES
+#--------------------
+glib_DEFUN([GLIB_LC_MESSAGES],
+ [AC_CHECK_HEADERS([locale.h])
+ if test $ac_cv_header_locale_h = yes; then
+ AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
+ [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
+ am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
+ if test $am_cv_val_LC_MESSAGES = yes; then
+ AC_DEFINE(HAVE_LC_MESSAGES, 1,
+ [Define if your <locale.h> file defines LC_MESSAGES.])
+ fi
+ fi])
+
+# GLIB_PATH_PROG_WITH_TEST
+#----------------------------
+dnl GLIB_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
+dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+glib_DEFUN([GLIB_PATH_PROG_WITH_TEST],
+[# Extract the first word of "$2", so it can be a program name with args.
+set dummy $2; ac_word=[$]2
+AC_MSG_CHECKING([for $ac_word])
+AC_CACHE_VAL(ac_cv_path_$1,
+[case "[$]$1" in
+ /*)
+ ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in ifelse([$5], , $PATH, [$5]); do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if [$3]; then
+ ac_cv_path_$1="$ac_dir/$ac_word"
+ break
+ fi
+ fi
+ done
+ IFS="$ac_save_ifs"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+ ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
+ AC_MSG_RESULT([$]$1)
+else
+ AC_MSG_RESULT(no)
+fi
+AC_SUBST($1)dnl
+])
+
+# GLIB_WITH_NLS
+#-----------------
+glib_DEFUN([GLIB_WITH_NLS],
+ dnl NLS is obligatory
+ [USE_NLS=yes
+ AC_SUBST(USE_NLS)
+
+ gt_cv_have_gettext=no
+
+ CATOBJEXT=NONE
+ XGETTEXT=:
+ INTLLIBS=
+
+ AC_CHECK_HEADER(libintl.h,
+ [gt_cv_func_dgettext_libintl="no"
+ libintl_extra_libs=""
+
+ #
+ # First check in libc
+ #
+ AC_CACHE_CHECK([for ngettext in libc], gt_cv_func_ngettext_libc,
+ [AC_TRY_LINK([
+#include <libintl.h>
+],
+ [return !ngettext ("","", 1)],
+ gt_cv_func_ngettext_libc=yes,
+ gt_cv_func_ngettext_libc=no)
+ ])
+
+ if test "$gt_cv_func_ngettext_libc" = "yes" ; then
+ AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc,
+ [AC_TRY_LINK([
+#include <libintl.h>
+],
+ [return !dgettext ("","")],
+ gt_cv_func_dgettext_libc=yes,
+ gt_cv_func_dgettext_libc=no)
+ ])
+ fi
+
+ if test "$gt_cv_func_ngettext_libc" = "yes" ; then
+ AC_CHECK_FUNCS(bind_textdomain_codeset)
+ fi
+
+ #
+ # If we don't have everything we want, check in libintl
+ #
+ if test "$gt_cv_func_dgettext_libc" != "yes" \
+ || test "$gt_cv_func_ngettext_libc" != "yes" \
+ || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then
+
+ AC_CHECK_LIB(intl, bindtextdomain,
+ [AC_CHECK_LIB(intl, ngettext,
+ [AC_CHECK_LIB(intl, dgettext,
+ gt_cv_func_dgettext_libintl=yes)])])
+
+ if test "$gt_cv_func_dgettext_libintl" != "yes" ; then
+ AC_MSG_CHECKING([if -liconv is needed to use gettext])
+ AC_MSG_RESULT([])
+ AC_CHECK_LIB(intl, ngettext,
+ [AC_CHECK_LIB(intl, dcgettext,
+ [gt_cv_func_dgettext_libintl=yes
+ libintl_extra_libs=-liconv],
+ :,-liconv)],
+ :,-liconv)
+ fi
+
+ #
+ # If we found libintl, then check in it for bind_textdomain_codeset();
+ # we'll prefer libc if neither have bind_textdomain_codeset(),
+ # and both have dgettext and ngettext
+ #
+ if test "$gt_cv_func_dgettext_libintl" = "yes" ; then
+ glib_save_LIBS="$LIBS"
+ LIBS="$LIBS -lintl $libintl_extra_libs"
+ unset ac_cv_func_bind_textdomain_codeset
+ AC_CHECK_FUNCS(bind_textdomain_codeset)
+ LIBS="$glib_save_LIBS"
+
+ if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then
+ gt_cv_func_dgettext_libc=no
+ else
+ if test "$gt_cv_func_dgettext_libc" = "yes" \
+ && test "$gt_cv_func_ngettext_libc" = "yes"; then
+ gt_cv_func_dgettext_libintl=no
+ fi
+ fi
+ fi
+ fi
+
+ if test "$gt_cv_func_dgettext_libc" = "yes" \
+ || test "$gt_cv_func_dgettext_libintl" = "yes"; then
+ gt_cv_have_gettext=yes
+ fi
+
+ if test "$gt_cv_func_dgettext_libintl" = "yes"; then
+ INTLLIBS="-lintl $libintl_extra_libs"
+ fi
+
+ if test "$gt_cv_have_gettext" = "yes"; then
+ AC_DEFINE(HAVE_GETTEXT,1,
+ [Define if the GNU gettext() function is already present or preinstalled.])
+ GLIB_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+ [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
+ if test "$MSGFMT" != "no"; then
+ glib_save_LIBS="$LIBS"
+ LIBS="$LIBS $INTLLIBS"
+ AC_CHECK_FUNCS(dcgettext)
+ MSGFMT_OPTS=
+ AC_MSG_CHECKING([if msgfmt accepts -c])
+ GLIB_RUN_PROG([$MSGFMT -c -o /dev/null],[
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: test 1.0\n"
+"PO-Revision-Date: 2007-02-15 12:01+0100\n"
+"Last-Translator: test <[email protected]>\n"
+"Language-Team: C <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+], [MSGFMT_OPTS=-c; AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])])
+ AC_SUBST(MSGFMT_OPTS)
+ AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+ GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+ [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
+ AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
+ return _nl_msg_cat_cntr],
+ [CATOBJEXT=.gmo
+ DATADIRNAME=share],
+ [case $host in
+ *-*-solaris*)
+ dnl On Solaris, if bind_textdomain_codeset is in libc,
+ dnl GNU format message catalog is always supported,
+ dnl since both are added to the libc all together.
+ dnl Hence, we'd like to go with DATADIRNAME=share and
+ dnl and CATOBJEXT=.gmo in this case.
+ AC_CHECK_FUNC(bind_textdomain_codeset,
+ [CATOBJEXT=.gmo
+ DATADIRNAME=share],
+ [CATOBJEXT=.mo
+ DATADIRNAME=lib])
+ ;;
+ *-*-openbsd*)
+ CATOBJEXT=.mo
+ DATADIRNAME=share
+ ;;
+ *)
+ CATOBJEXT=.mo
+ DATADIRNAME=lib
+ ;;
+ esac])
+ LIBS="$glib_save_LIBS"
+ INSTOBJEXT=.mo
+ else
+ gt_cv_have_gettext=no
+ fi
+ fi
+ ])
+
+ if test "$gt_cv_have_gettext" = "yes" ; then
+ AC_DEFINE(ENABLE_NLS, 1,
+ [always defined to indicate that i18n is enabled])
+ fi
+
+ dnl Test whether we really found GNU xgettext.
+ if test "$XGETTEXT" != ":"; then
+ dnl If it is not GNU xgettext we define it as : so that the
+ dnl Makefiles still can work.
+ if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
+ : ;
+ else
+ AC_MSG_RESULT(
+ [found xgettext program is not GNU xgettext; ignore it])
+ XGETTEXT=":"
+ fi
+ fi
+
+ # We need to process the po/ directory.
+ POSUB=po
+
+ AC_OUTPUT_COMMANDS(
+ [case "$CONFIG_FILES" in *po/Makefile.in*)
+ sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
+ esac])
+
+ dnl These rules are solely for the distribution goal. While doing this
+ dnl we only have to keep exactly one list of the available catalogs
+ dnl in configure.ac.
+ for lang in $ALL_LINGUAS; do
+ GMOFILES="$GMOFILES $lang.gmo"
+ POFILES="$POFILES $lang.po"
+ done
+
+ dnl Make all variables we use known to autoconf.
+ AC_SUBST(CATALOGS)
+ AC_SUBST(CATOBJEXT)
+ AC_SUBST(DATADIRNAME)
+ AC_SUBST(GMOFILES)
+ AC_SUBST(INSTOBJEXT)
+ AC_SUBST(INTLLIBS)
+ AC_SUBST(PO_IN_DATADIR_TRUE)
+ AC_SUBST(PO_IN_DATADIR_FALSE)
+ AC_SUBST(POFILES)
+ AC_SUBST(POSUB)
+ ])
+
+# AM_GLIB_GNU_GETTEXT
+# -------------------
+# Do checks necessary for use of gettext. If a suitable implementation
+# of gettext is found in either in libintl or in the C library,
+# it will set INTLLIBS to the libraries needed for use of gettext
+# and AC_DEFINE() HAVE_GETTEXT and ENABLE_NLS. (The shell variable
+# gt_cv_have_gettext will be set to "yes".) It will also call AC_SUBST()
+# on various variables needed by the Makefile.in.in installed by
+# glib-gettextize.
+dnl
+glib_DEFUN([GLIB_GNU_GETTEXT],
+ [AC_REQUIRE([AC_PROG_CC])dnl
+ AC_REQUIRE([AC_HEADER_STDC])dnl
+
+ GLIB_LC_MESSAGES
+ GLIB_WITH_NLS
+
+ if test "$gt_cv_have_gettext" = "yes"; then
+ if test "x$ALL_LINGUAS" = "x"; then
+ LINGUAS=
+ else
+ AC_MSG_CHECKING(for catalogs to be installed)
+ NEW_LINGUAS=
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then
+ desiredlanguages="$LINGUAS"
+ else
+ desiredlanguages="$ALL_LINGUAS"
+ fi
+ for desiredlang in $desiredlanguages; do
+ # Use the presentlang catalog if desiredlang is
+ # a. equal to presentlang, or
+ # b. a variant of presentlang (because in this case,
+ # presentlang can be used as a fallback for messages
+ # which are not translated in the desiredlang catalog).
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ NEW_LINGUAS="$NEW_LINGUAS $presentlang"
+ fi
+ done
+ LINGUAS=$NEW_LINGUAS
+ AC_MSG_RESULT($LINGUAS)
+ fi
+
+ dnl Construct list of names of catalog files to be constructed.
+ if test -n "$LINGUAS"; then
+ for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
+ fi
+ fi
+
+ dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
+ dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
+ dnl Try to locate is.
+ MKINSTALLDIRS=
+ if test -n "$ac_aux_dir"; then
+ MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
+ fi
+ if test -z "$MKINSTALLDIRS"; then
+ MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
+ fi
+ AC_SUBST(MKINSTALLDIRS)
+
+ dnl Generate list of files to be processed by xgettext which will
+ dnl be included in po/Makefile.
+ test -d po || mkdir po
+ if test "x$srcdir" != "x."; then
+ if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
+ posrcprefix="$srcdir/"
+ else
+ posrcprefix="../$srcdir/"
+ fi
+ else
+ posrcprefix="../"
+ fi
+ rm -f po/POTFILES
+ sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
+ < $srcdir/po/POTFILES.in > po/POTFILES
+ ])
+
+# AM_GLIB_DEFINE_LOCALEDIR(VARIABLE)
+# -------------------------------
+# Define VARIABLE to the location where catalog files will
+# be installed by po/Makefile.
+glib_DEFUN([GLIB_DEFINE_LOCALEDIR],
+[glib_REQUIRE([GLIB_GNU_GETTEXT])dnl
+glib_save_prefix="$prefix"
+glib_save_exec_prefix="$exec_prefix"
+glib_save_datarootdir="$datarootdir"
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+test "x$exec_prefix" = xNONE && exec_prefix=$prefix
+datarootdir=`eval echo "${datarootdir}"`
+if test "x$CATOBJEXT" = "x.mo" ; then
+ localedir=`eval echo "${libdir}/locale"`
+else
+ localedir=`eval echo "${datadir}/locale"`
+fi
+prefix="$glib_save_prefix"
+exec_prefix="$glib_save_exec_prefix"
+datarootdir="$glib_save_datarootdir"
+AC_DEFINE_UNQUOTED($1, "$localedir",
+ [Define the location where the catalogs will be installed])
+])
+
+dnl
+dnl Now the definitions that aclocal will find
+dnl
+ifdef(glib_configure_ac,[],[
+AC_DEFUN([AM_GLIB_GNU_GETTEXT],[GLIB_GNU_GETTEXT($@)])
+AC_DEFUN([AM_GLIB_DEFINE_LOCALEDIR],[GLIB_DEFINE_LOCALEDIR($@)])
+])dnl
+
+# GLIB_RUN_PROG(PROGRAM, TEST-FILE, [ACTION-IF-PASS], [ACTION-IF-FAIL])
+#
+# Create a temporary file with TEST-FILE as its contents and pass the
+# file name to PROGRAM. Perform ACTION-IF-PASS if PROGRAM exits with
+# 0 and perform ACTION-IF-FAIL for any other exit status.
+AC_DEFUN([GLIB_RUN_PROG],
+[cat >conftest.foo <<_ACEOF
+$2
+_ACEOF
+if AC_RUN_LOG([$1 conftest.foo]); then
+ m4_ifval([$3], [$3], [:])
+m4_ifvaln([$4], [else $4])dnl
+echo "$as_me: failed input was:" >&AS_MESSAGE_LOG_FD
+sed 's/^/| /' conftest.foo >&AS_MESSAGE_LOG_FD
+fi])
+
+
+dnl -*- mode: autoconf -*-
+dnl Copyright 2009 Johan Dahlin
+dnl
+dnl This file is free software; the author(s) gives unlimited
+dnl permission to copy and/or distribute it, with or without
+dnl modifications, as long as this notice is preserved.
+dnl
+
+# serial 1
+
+m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
+[
+ AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
+ AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
+ AC_BEFORE([LT_INIT],[$0])dnl setup libtool first
+
+ dnl enable/disable introspection
+ m4_if([$2], [require],
+ [dnl
+ enable_introspection=yes
+ ],[dnl
+ AC_ARG_ENABLE(introspection,
+ AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]],
+ [Enable introspection for this build]),,
+ [enable_introspection=auto])
+ ])dnl
+
+ AC_MSG_CHECKING([for gobject-introspection])
+
+ dnl presence/version checking
+ AS_CASE([$enable_introspection],
+ [no], [dnl
+ found_introspection="no (disabled, use --enable-introspection to enable)"
+ ],dnl
+ [yes],[dnl
+ PKG_CHECK_EXISTS([gobject-introspection-1.0],,
+ AC_MSG_ERROR([gobject-introspection-1.0 is not installed]))
+ PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1],
+ found_introspection=yes,
+ AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME]))
+ ],dnl
+ [auto],[dnl
+ PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no)
+ ],dnl
+ [dnl
+ AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@])
+ ])dnl
+
+ AC_MSG_RESULT([$found_introspection])
+
+ INTROSPECTION_SCANNER=
+ INTROSPECTION_COMPILER=
+ INTROSPECTION_GENERATE=
+ INTROSPECTION_GIRDIR=
+ INTROSPECTION_TYPELIBDIR=
+ if test "x$found_introspection" = "xyes"; then
+ INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
+ INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
+ INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
+ INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
+ INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
+ INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
+ INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
+ INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
+ fi
+ AC_SUBST(INTROSPECTION_SCANNER)
+ AC_SUBST(INTROSPECTION_COMPILER)
+ AC_SUBST(INTROSPECTION_GENERATE)
+ AC_SUBST(INTROSPECTION_GIRDIR)
+ AC_SUBST(INTROSPECTION_TYPELIBDIR)
+ AC_SUBST(INTROSPECTION_CFLAGS)
+ AC_SUBST(INTROSPECTION_LIBS)
+ AC_SUBST(INTROSPECTION_MAKEFILE)
+
+ AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes")
+])
+
+
+dnl Usage:
+dnl GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version])
+
+AC_DEFUN([GOBJECT_INTROSPECTION_CHECK],
+[
+ _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1])
+])
+
+dnl Usage:
+dnl GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version])
+
+
+AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE],
+[
+ _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require])
+])
+
+# mate-common.m4
+#
+
+dnl MATE_COMMON_INIT
+
+AC_DEFUN([MATE_COMMON_INIT],
+[
+ dnl this macro should come after AC_CONFIG_MACRO_DIR
+ AC_BEFORE([AC_CONFIG_MACRO_DIR], [$0])
+
+ dnl ensure that when the Automake generated makefile calls aclocal,
+ dnl it honours the $ACLOCAL_FLAGS environment variable
+ ACLOCAL_AMFLAGS="\${ACLOCAL_FLAGS}"
+ if test -n "$ac_macro_dir"; then
+ ACLOCAL_AMFLAGS="-I $ac_macro_dir $ACLOCAL_AMFLAGS"
+ fi
+
+ AC_SUBST([ACLOCAL_AMFLAGS])
+])
+
+AC_DEFUN([MATE_DEBUG_CHECK],
+[
+ AC_ARG_ENABLE([debug],
+ AC_HELP_STRING([--enable-debug],
+ [turn on debugging]),,
+ [enable_debug=no])
+
+ if test x$enable_debug = xyes ; then
+ AC_DEFINE(MATE_ENABLE_DEBUG, 1,
+ [Enable additional debugging at the expense of performance and size])
+ fi
+])
+
+dnl MATE_MAINTAINER_MODE_DEFINES ()
+dnl define DISABLE_DEPRECATED
+dnl
+AC_DEFUN([MATE_MAINTAINER_MODE_DEFINES],
+[
+ AC_REQUIRE([AM_MAINTAINER_MODE])
+
+ DISABLE_DEPRECATED=""
+ if test $USE_MAINTAINER_MODE = yes; then
+ DOMAINS="G ATK PANGO GDK GDK_PIXBUF GTK MATECONF MATECOMPONENT MATECOMPONENT_UI MATE LIBGLADE VTE MATE_VFS WNCK LIBSOUP"
+ for DOMAIN in $DOMAINS; do
+ DISABLE_DEPRECATED="$DISABLE_DEPRECATED -D${DOMAIN}_DISABLE_DEPRECATED -D${DOMAIN}_DISABLE_SINGLE_INCLUDES"
+ done
+ fi
+
+ AC_SUBST(DISABLE_DEPRECATED)
+])
+
+dnl MATE_COMPILE_WARNINGS
+dnl Turn on many useful compiler warnings
+dnl For now, only works on GCC
+AC_DEFUN([MATE_COMPILE_WARNINGS],[
+ dnl ******************************
+ dnl More compiler warnings
+ dnl ******************************
+
+ AC_ARG_ENABLE(compile-warnings,
+ AC_HELP_STRING([--enable-compile-warnings=@<:@no/minimum/yes/maximum/error@:>@],
+ [Turn on compiler warnings]),,
+ [enable_compile_warnings="m4_default([$1],[yes])"])
+
+ warnCFLAGS=
+ if test "x$GCC" != xyes; then
+ enable_compile_warnings=no
+ fi
+
+ warning_flags=
+ realsave_CFLAGS="$CFLAGS"
+
+ case "$enable_compile_warnings" in
+ no)
+ warning_flags=
+ ;;
+ minimum)
+ warning_flags="-Wall"
+ ;;
+ yes)
+ warning_flags="-Wall -Wmissing-prototypes"
+ ;;
+ maximum|error)
+ warning_flags="-Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith"
+ CFLAGS="$warning_flags $CFLAGS"
+ for option in -Wno-sign-compare; do
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $option"
+ AC_MSG_CHECKING([whether gcc understands $option])
+ AC_TRY_COMPILE([], [],
+ has_option=yes,
+ has_option=no,)
+ CFLAGS="$SAVE_CFLAGS"
+ AC_MSG_RESULT($has_option)
+ if test $has_option = yes; then
+ warning_flags="$warning_flags $option"
+ fi
+ unset has_option
+ unset SAVE_CFLAGS
+ done
+ unset option
+ if test "$enable_compile_warnings" = "error" ; then
+ warning_flags="$warning_flags -Werror"
+ fi
+ ;;
+ *)
+ AC_MSG_ERROR(Unknown argument '$enable_compile_warnings' to --enable-compile-warnings)
+ ;;
+ esac
+ CFLAGS="$realsave_CFLAGS"
+ AC_MSG_CHECKING(what warning flags to pass to the C compiler)
+ AC_MSG_RESULT($warning_flags)
+
+ AC_ARG_ENABLE(iso-c,
+ AC_HELP_STRING([--enable-iso-c],
+ [Try to warn if code is not ISO C ]),,
+ [enable_iso_c=no])
+
+ AC_MSG_CHECKING(what language compliance flags to pass to the C compiler)
+ complCFLAGS=
+ if test "x$enable_iso_c" != "xno"; then
+ if test "x$GCC" = "xyes"; then
+ case " $CFLAGS " in
+ *[\ \ ]-ansi[\ \ ]*) ;;
+ *) complCFLAGS="$complCFLAGS -ansi" ;;
+ esac
+ case " $CFLAGS " in
+ *[\ \ ]-pedantic[\ \ ]*) ;;
+ *) complCFLAGS="$complCFLAGS -pedantic" ;;
+ esac
+ fi
+ fi
+ AC_MSG_RESULT($complCFLAGS)
+
+ WARN_CFLAGS="$warning_flags $complCFLAGS"
+ AC_SUBST(WARN_CFLAGS)
+])
+
+dnl For C++, do basically the same thing.
+
+AC_DEFUN([MATE_CXX_WARNINGS],[
+ AC_ARG_ENABLE(cxx-warnings,
+ AC_HELP_STRING([--enable-cxx-warnings=@<:@no/minimum/yes@:>@]
+ [Turn on compiler warnings.]),,
+ [enable_cxx_warnings="m4_default([$1],[minimum])"])
+
+ AC_MSG_CHECKING(what warning flags to pass to the C++ compiler)
+ warnCXXFLAGS=
+ if test "x$GXX" != xyes; then
+ enable_cxx_warnings=no
+ fi
+ if test "x$enable_cxx_warnings" != "xno"; then
+ if test "x$GXX" = "xyes"; then
+ case " $CXXFLAGS " in
+ *[\ \ ]-Wall[\ \ ]*) ;;
+ *) warnCXXFLAGS="-Wall -Wno-unused" ;;
+ esac
+
+ ## -W is not all that useful. And it cannot be controlled
+ ## with individual -Wno-xxx flags, unlike -Wall
+ if test "x$enable_cxx_warnings" = "xyes"; then
+ warnCXXFLAGS="$warnCXXFLAGS -Wshadow -Woverloaded-virtual"
+ fi
+ fi
+ fi
+ AC_MSG_RESULT($warnCXXFLAGS)
+
+ AC_ARG_ENABLE(iso-cxx,
+ AC_HELP_STRING([--enable-iso-cxx],
+ [Try to warn if code is not ISO C++ ]),,
+ [enable_iso_cxx=no])
+
+ AC_MSG_CHECKING(what language compliance flags to pass to the C++ compiler)
+ complCXXFLAGS=
+ if test "x$enable_iso_cxx" != "xno"; then
+ if test "x$GXX" = "xyes"; then
+ case " $CXXFLAGS " in
+ *[\ \ ]-ansi[\ \ ]*) ;;
+ *) complCXXFLAGS="$complCXXFLAGS -ansi" ;;
+ esac
+
+ case " $CXXFLAGS " in
+ *[\ \ ]-pedantic[\ \ ]*) ;;
+ *) complCXXFLAGS="$complCXXFLAGS -pedantic" ;;
+ esac
+ fi
+ fi
+ AC_MSG_RESULT($complCXXFLAGS)
+
+ WARN_CXXFLAGS="$CXXFLAGS $warnCXXFLAGS $complCXXFLAGS"
+ AC_SUBST(WARN_CXXFLAGS)
+])
+
+# nls.m4 serial 5 (gettext-0.18)
+dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation,
+dnl Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <[email protected]>, 1995-2000.
+dnl Bruno Haible <[email protected]>, 2000-2003.
+
+AC_PREREQ([2.50])
+
+AC_DEFUN([AM_NLS],
+[
+ AC_MSG_CHECKING([whether NLS is requested])
+ dnl Default is enabled NLS
+ AC_ARG_ENABLE([nls],
+ [ --disable-nls do not use Native Language Support],
+ USE_NLS=$enableval, USE_NLS=yes)
+ AC_MSG_RESULT([$USE_NLS])
+ AC_SUBST([USE_NLS])
+])
+
+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+# serial 1 (pkg-config-0.24)
+#
+# Copyright © 2004 Scott James Remnant <[email protected]>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
+m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=m4_default([$1], [0.9.0])
+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ PKG_CONFIG=""
+ fi
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists. Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+# only at the first occurence in configure.ac, so if the first place
+# it's called might be skipped (such as if it is within an "if", you
+# have to call PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+ m4_default([$2], [:])
+m4_ifvaln([$3], [else
+ $3])dnl
+fi])
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$$1"; then
+ pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+ PKG_CHECK_EXISTS([$3],
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ],
+ [pkg_failed=yes])
+ else
+ pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+ AC_MSG_RESULT([no])
+ _PKG_SHORT_ERRORS_SUPPORTED
+ if test $_pkg_short_errors_supported = yes; then
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
+ else
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+ m4_default([$4], [AC_MSG_ERROR(
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT])[]dnl
+ ])
+elif test $pkg_failed = untried; then
+ AC_MSG_RESULT([no])
+ m4_default([$4], [AC_MSG_FAILURE(
+[The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
+ ])
+else
+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+ AC_MSG_RESULT([yes])
+ $3
+fi[]dnl
+])# PKG_CHECK_MODULES
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.11'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.11.1], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 9
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 10
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], UPC, [depcc="$UPC" am_compiler_list=],
+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ am__universal=false
+ m4_case([$1], [CC],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac],
+ [CXX],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac])
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+])
+
+# Generate code to set up dependency tracking. -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 5
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[{
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled. FIXME. This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
+AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 16
+
+# This macro actually does too much. Some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.62])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES(OBJC)],
+ [define([AC_PROG_OBJC],
+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+])
+
+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_MAINTAINER_MODE([DEFAULT-MODE])
+# ----------------------------------
+# Control maintainer-specific portions of Makefiles.
+# Default is to disable them, unless `enable' is passed literally.
+# For symmetry, `disable' may be passed as well. Anyway, the user
+# can override the default with the --enable/--disable switch.
+AC_DEFUN([AM_MAINTAINER_MODE],
+[m4_case(m4_default([$1], [disable]),
+ [enable], [m4_define([am_maintainer_other], [disable])],
+ [disable], [m4_define([am_maintainer_other], [enable])],
+ [m4_define([am_maintainer_other], [enable])
+ m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
+AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+ dnl maintainer-mode's default is 'disable' unless 'enable' is passed
+ AC_ARG_ENABLE([maintainer-mode],
+[ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ [USE_MAINTAINER_MODE=$enableval],
+ [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+ AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+ AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST([MAINT])dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 6
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+ [[\\/$]]* | ?:[[\\/]]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# ---------------------------------------------------------------------------
+# Adds support for distributing Python modules and packages. To
+# install modules, copy them to $(pythondir), using the python_PYTHON
+# automake variable. To install a package with the same name as the
+# automake package, install to $(pkgpythondir), or use the
+# pkgpython_PYTHON automake variable.
+#
+# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as
+# locations to install python extension modules (shared libraries).
+# Another macro is required to find the appropriate flags to compile
+# extension modules.
+#
+# If your package is configured with a different prefix to python,
+# users will have to add the install directory to the PYTHONPATH
+# environment variable, or create a .pth file (see the python
+# documentation for details).
+#
+# If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will
+# cause an error if the version of python installed on the system
+# doesn't meet the requirement. MINIMUM-VERSION should consist of
+# numbers and dots only.
+AC_DEFUN([AM_PATH_PYTHON],
+ [
+ dnl Find a Python interpreter. Python versions prior to 2.0 are not
+ dnl supported. (2.0 was released on October 16, 2000).
+ m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
+ [python python2 python3 python3.0 python2.5 python2.4 python2.3 python2.2 dnl
+python2.1 python2.0])
+
+ m4_if([$1],[],[
+ dnl No version check is needed.
+ # Find any Python interpreter.
+ if test -z "$PYTHON"; then
+ AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :)
+ fi
+ am_display_PYTHON=python
+ ], [
+ dnl A version check is needed.
+ if test -n "$PYTHON"; then
+ # If the user set $PYTHON, use it and don't search something else.
+ AC_MSG_CHECKING([whether $PYTHON version >= $1])
+ AM_PYTHON_CHECK_VERSION([$PYTHON], [$1],
+ [AC_MSG_RESULT(yes)],
+ [AC_MSG_ERROR(too old)])
+ am_display_PYTHON=$PYTHON
+ else
+ # Otherwise, try each interpreter until we find one that satisfies
+ # VERSION.
+ AC_CACHE_CHECK([for a Python interpreter with version >= $1],
+ [am_cv_pathless_PYTHON],[
+ for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do
+ test "$am_cv_pathless_PYTHON" = none && break
+ AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break])
+ done])
+ # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
+ if test "$am_cv_pathless_PYTHON" = none; then
+ PYTHON=:
+ else
+ AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON])
+ fi
+ am_display_PYTHON=$am_cv_pathless_PYTHON
+ fi
+ ])
+
+ if test "$PYTHON" = :; then
+ dnl Run any user-specified action, or abort.
+ m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])])
+ else
+
+ dnl Query Python for its version number. Getting [:3] seems to be
+ dnl the best way to do this; it's what "site.py" does in the standard
+ dnl library.
+
+ AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version],
+ [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`])
+ AC_SUBST([PYTHON_VERSION], [$am_cv_python_version])
+
+ dnl Use the values of $prefix and $exec_prefix for the corresponding
+ dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made
+ dnl distinct variables so they can be overridden if need be. However,
+ dnl general consensus is that you shouldn't need this ability.
+
+ AC_SUBST([PYTHON_PREFIX], ['${prefix}'])
+ AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}'])
+
+ dnl At times (like when building shared libraries) you may want
+ dnl to know which OS platform Python thinks this is.
+
+ AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform],
+ [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`])
+ AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform])
+
+
+ dnl Set up 4 directories:
+
+ dnl pythondir -- where to install python scripts. This is the
+ dnl site-packages directory, not the python standard library
+ dnl directory like in previous automake betas. This behavior
+ dnl is more consistent with lispdir.m4 for example.
+ dnl Query distutils for this directory. distutils does not exist in
+ dnl Python 1.5, so we fall back to the hardcoded directory if it
+ dnl doesn't work.
+ AC_CACHE_CHECK([for $am_display_PYTHON script directory],
+ [am_cv_python_pythondir],
+ [if test "x$prefix" = xNONE
+ then
+ am_py_prefix=$ac_default_prefix
+ else
+ am_py_prefix=$prefix
+ fi
+ am_cv_python_pythondir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 2>/dev/null ||
+ echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
+ case $am_cv_python_pythondir in
+ $am_py_prefix*)
+ am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
+ am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
+ ;;
+ *)
+ case $am_py_prefix in
+ /usr|/System*) ;;
+ *)
+ am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
+ ;;
+ esac
+ ;;
+ esac
+ ])
+ AC_SUBST([pythondir], [$am_cv_python_pythondir])
+
+ dnl pkgpythondir -- $PACKAGE directory under pythondir. Was
+ dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is
+ dnl more consistent with the rest of automake.
+
+ AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE])
+
+ dnl pyexecdir -- directory for installing python extension modules
+ dnl (shared libraries)
+ dnl Query distutils for this directory. distutils does not exist in
+ dnl Python 1.5, so we fall back to the hardcoded directory if it
+ dnl doesn't work.
+ AC_CACHE_CHECK([for $am_display_PYTHON extension module directory],
+ [am_cv_python_pyexecdir],
+ [if test "x$exec_prefix" = xNONE
+ then
+ am_py_exec_prefix=$am_py_prefix
+ else
+ am_py_exec_prefix=$exec_prefix
+ fi
+ am_cv_python_pyexecdir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 2>/dev/null ||
+ echo "$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
+ case $am_cv_python_pyexecdir in
+ $am_py_exec_prefix*)
+ am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
+ am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
+ ;;
+ *)
+ case $am_py_exec_prefix in
+ /usr|/System*) ;;
+ *)
+ am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
+ ;;
+ esac
+ ;;
+ esac
+ ])
+ AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir])
+
+ dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE)
+
+ AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE])
+
+ dnl Run any user-specified action.
+ $2
+ fi
+
+])
+
+
+# AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
+# ---------------------------------------------------------------------------
+# Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION.
+# Run ACTION-IF-FALSE otherwise.
+# This test uses sys.hexversion instead of the string equivalent (first
+# word of sys.version), in order to cope with versions such as 2.2c1.
+# This supports Python 2.0 or higher. (2.0 was released on October 16, 2000).
+AC_DEFUN([AM_PYTHON_CHECK_VERSION],
+ [prog="import sys
+# split strings by '.' and convert to numeric. Append some zeros
+# because we need at least 4 digits for the hex conversion.
+# map returns an iterator in Python 3.0 and a list in 2.x
+minver = list(map(int, '$2'.split('.'))) + [[0, 0, 0]]
+minverhex = 0
+# xrange is not present in Python 3.0 and range returns an iterator
+for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]]
+sys.exit(sys.hexversion < minverhex)"
+ AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
+ AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+esac
+
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2009 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 1
+
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# (`yes' being less verbose, `no' or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules],
+[ --enable-silent-rules less verbose build output (undo: `make V=1')
+ --disable-silent-rules verbose build output (undo: `make V=0')])
+case $enable_silent_rules in
+yes) AM_DEFAULT_VERBOSITY=0;;
+no) AM_DEFAULT_VERBOSITY=1;;
+*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+ [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+ [m4_case([$1], [ustar],, [pax],,
+ [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar;
+ do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([m4/intltool.m4])
+m4_include([m4/libtool.m4])
+m4_include([m4/ltoptions.m4])
+m4_include([m4/ltsugar.m4])
+m4_include([m4/ltversion.m4])
+m4_include([m4/lt~obsolete.m4])
+m4_include([m4/python.m4])
diff --git a/autogen.sh b/autogen.sh
new file mode 100755
index 0000000..688ffa7
--- /dev/null
+++ b/autogen.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+# Run this to generate all the initial makefiles, etc.
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+PKG_NAME="mate-menus"
+
+(test -f $srcdir/configure.ac) || {
+ echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
+ echo " top-level $PKG_NAME directory"
+ exit 1
+}
+
+which mate-autogen.sh || {
+ echo "You need to install mate-common from the MATE Git"
+ exit 1
+}
+
+REQUIRED_AUTOMAKE_VERSION=1.9
+USE_MATE2_MACROS=1
+USE_COMMON_DOC_BUILD=yes
+
+. mate-autogen.sh
+
diff --git a/config.h.in b/config.h.in
new file mode 100644
index 0000000..834846d
--- /dev/null
+++ b/config.h.in
@@ -0,0 +1,83 @@
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* always defined to indicate that i18n is enabled */
+#undef ENABLE_NLS
+
+/* Name of default gettext domain */
+#undef GETTEXT_PACKAGE
+
+/* Define to 1 if you have the `bind_textdomain_codeset' function. */
+#undef HAVE_BIND_TEXTDOMAIN_CODESET
+
+/* Define to 1 if you have the `dcgettext' function. */
+#undef HAVE_DCGETTEXT
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define if the GNU gettext() function is already present or preinstalled. */
+#undef HAVE_GETTEXT
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define if your <locale.h> file defines LC_MESSAGES. */
+#undef HAVE_LC_MESSAGES
+
+/* Define to 1 if you have the <locale.h> header file. */
+#undef HAVE_LOCALE_H
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#undef LT_OBJDIR
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Version number of package */
+#undef VERSION
diff --git a/config.sub b/config.sub
new file mode 100755
index 0000000..2a55a50
--- /dev/null
+++ b/config.sub
@@ -0,0 +1,1705 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+# Free Software Foundation, Inc.
+
+timestamp='2009-11-20'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine. It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Please send patches to <[email protected]>. Submit a context
+# diff and a properly formatted GNU ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+ $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <[email protected]>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help"
+ exit 1 ;;
+
+ *local*)
+ # First pass through any local machine types.
+ echo $1
+ exit ;;
+
+ * )
+ break ;;
+ esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+ exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+ exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+ kopensolaris*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ *)
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+ if [ $basic_machine != $1 ]
+ then os=`echo $1 | sed 's/.*-/-/'`
+ else os=; fi
+ ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work. We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+ -apple | -axis | -knuth | -cray | -microblaze)
+ os=
+ basic_machine=$1
+ ;;
+ -bluegene*)
+ os=-cnk
+ ;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+ basic_machine=$1
+ ;;
+ -scout)
+ ;;
+ -wrs)
+ os=-vxworks
+ basic_machine=$1
+ ;;
+ -chorusos*)
+ os=-chorusos
+ basic_machine=$1
+ ;;
+ -chorusrdb)
+ os=-chorusrdb
+ basic_machine=$1
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco6)
+ os=-sco5v6
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5)
+ os=-sco3.2v5
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -udk*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+ -ptx*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ ;;
+ -windowsnt*)
+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
+ ;;
+ -psos*)
+ os=-psos
+ ;;
+ -mint | -mint[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ 1750a | 580 \
+ | a29k \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+ | bfin \
+ | c4x | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+ | fido | fr30 | frv \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k | iq2000 \
+ | lm32 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | mcore | mep | metag \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64octeon | mips64octeonel \
+ | mips64orion | mips64orionel \
+ | mips64r5900 | mips64r5900el \
+ | mips64vr | mips64vrel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | moxie \
+ | mt \
+ | msp430 \
+ | nios | nios2 \
+ | ns16k | ns32k \
+ | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+ | pyramid \
+ | rx \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu | strongarm \
+ | tahoe | thumb | tic4x | tic80 | tron \
+ | ubicom32 \
+ | v850 | v850e \
+ | we32k \
+ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+ | z8k | z80)
+ basic_machine=$basic_machine-unknown
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12 | picochip)
+ # Motorola 68HC11/12.
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ ;;
+ ms1)
+ basic_machine=mt-unknown
+ ;;
+
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ basic_machine=$basic_machine-pc
+ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+ 580-* \
+ | a29k-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* | avr32-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+ | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | elxsi-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+ | ip2k-* | iq2000-* \
+ | lm32-* \
+ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+ | mips64octeon-* | mips64octeonel-* \
+ | mips64orion-* | mips64orionel-* \
+ | mips64r5900-* | mips64r5900el-* \
+ | mips64vr-* | mips64vrel-* \
+ | mips64vr4100-* | mips64vr4100el-* \
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
+ | mips64vr5900-* | mips64vr5900el-* \
+ | mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
+ | nios-* | nios2-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+ | pyramid-* \
+ | romp-* | rs6000-* | rx-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+ | tahoe-* | thumb-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
+ | tron-* \
+ | ubicom32-* \
+ | v850-* | v850e-* | vax-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | xstormy16-* | xtensa*-* \
+ | ymp-* \
+ | z8k-* | z80-*)
+ ;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+ basic_machine=i386-unknown
+ os=-bsd
+ ;;
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
+ amd64)
+ basic_machine=x86_64-pc
+ ;;
+ amd64-*)
+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-unknown
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ os=-amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ os=-sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=-bsd
+ ;;
+ aros)
+ basic_machine=i386-pc
+ os=-aros
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=-aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ bluegene*)
+ basic_machine=powerpc-ibm
+ os=-cnk
+ ;;
+ c90)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
+ cegcc)
+ basic_machine=arm-unknown
+ os=-cegcc
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=-bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=-bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=-bsd
+ ;;
+ cray | j90)
+ basic_machine=j90-cray
+ os=-unicos
+ ;;
+ craynv)
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+ cr16)
+ basic_machine=cr16-unknown
+ os=-elf
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ crisv32 | crisv32-* | etraxfs*)
+ basic_machine=crisv32-axis
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
+ crx)
+ basic_machine=crx-unknown
+ os=-elf
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ decsystem10* | dec10*)
+ basic_machine=pdp10-dec
+ os=-tops10
+ ;;
+ decsystem20* | dec20*)
+ basic_machine=pdp10-dec
+ os=-tops20
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
+ dicos)
+ basic_machine=i686-pc
+ os=-dicos
+ ;;
+ djgpp)
+ basic_machine=i586-pc
+ os=-msdosdjgpp
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ dpx2* | dpx2*-bull)
+ basic_machine=m68k-bull
+ os=-sysv3
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=-ebmon
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=-ose
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=-sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ os=-go32
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=-hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=-xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=-hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=-sysv3
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k78[0-9] | hp78[0-9])
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][13679] | hp8[0-9][13679])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hppa-next)
+ os=-nextstep3
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=-proelf
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+# I'm not sure what "Sysv32" means. Should this be sysv3.2?
+ i*86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv32
+ ;;
+ i*86v4*)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv4
+ ;;
+ i*86v)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv
+ ;;
+ i*86sol2)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-solaris2
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ os=-mach
+ ;;
+ i386-vsta | vsta)
+ basic_machine=i386-unknown
+ os=-vsta
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ m88k-omron*)
+ basic_machine=m88k-omron
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+ microblaze)
+ basic_machine=microblaze-xilinx
+ ;;
+ mingw32)
+ basic_machine=i386-pc
+ os=-mingw32
+ ;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=-mingw32ce
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+ mips3*-*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ os=-morphos
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ os=-msdos
+ ;;
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=-netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=-linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-newsos
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ os=-sysv
+ ;;
+ next | m*-next )
+ basic_machine=m68k-next
+ case $os in
+ -nextstep* )
+ ;;
+ -ns2*)
+ os=-nextstep2
+ ;;
+ *)
+ os=-nextstep3
+ ;;
+ esac
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=-cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=-cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ os=-mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=-nonstopux
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+ op50n-* | op60c-*)
+ basic_machine=hppa1.1-oki
+ os=-proelf
+ ;;
+ openrisc | openrisc-*)
+ basic_machine=or32-unknown
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=-ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=-os68k
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium | p5 | k5 | k6 | nexgen | viac3)
+ basic_machine=i586-pc
+ ;;
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ basic_machine=i686-pc
+ ;;
+ pentiumii | pentium2 | pentiumiii | pentium3)
+ basic_machine=i686-pc
+ ;;
+ pentium4)
+ basic_machine=i786-pc
+ ;;
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium4-*)
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+ ppc) basic_machine=powerpc-unknown
+ ;;
+ ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle | ppc-le | powerpc-little)
+ basic_machine=powerpcle-unknown
+ ;;
+ ppcle-* | powerpclittle-*)
+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64) basic_machine=powerpc64-unknown
+ ;;
+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ basic_machine=powerpc64le-unknown
+ ;;
+ ppc64le-* | powerpc64little-*)
+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+ rdos)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ sb1)
+ basic_machine=mipsisa64sb1-unknown
+ ;;
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=-elf
+ ;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh)
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+ sparclite-wrs | simso-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=-sysv2
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=-solaris2
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ os=-unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ os=-unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+ tic54x | c54x*)
+ basic_machine=tic54x-unknown
+ os=-coff
+ ;;
+ tic55x | c55x*)
+ basic_machine=tic55x-unknown
+ os=-coff
+ ;;
+ tic6x | c6x*)
+ basic_machine=tic6x-unknown
+ os=-coff
+ ;;
+ tile*)
+ basic_machine=tile-unknown
+ os=-linux-gnu
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ os=-tops20
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=-sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=-none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=-sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=-vms
+ ;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=-vxworks
+ ;;
+ w65*)
+ basic_machine=w65-wdc
+ os=-none
+ ;;
+ w89k-*)
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
+ xbox)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+ ;;
+ z8k-*-coff)
+ basic_machine=z8k-unknown
+ os=-sim
+ ;;
+ z80-*-coff)
+ basic_machine=z80-unknown
+ os=-sim
+ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in
+# some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ basic_machine=hppa1.1-winbond
+ ;;
+ op50n)
+ basic_machine=hppa1.1-oki
+ ;;
+ op60c)
+ basic_machine=hppa1.1-oki
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ mmix)
+ basic_machine=mmix-knuth
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp10)
+ # there are many clones, so DEC is not a safe bet
+ basic_machine=pdp10-unknown
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ mac | mpw | mac-mpw)
+ basic_machine=m68k-apple
+ ;;
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+ *-unknown)
+ # Make sure to match an already-canonicalized machine name.
+ ;;
+ *)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+ # First match some system type aliases
+ # that might get confused with valid system types.
+ # -solaris* is a basic system type, with this one exception.
+ -auroraux)
+ os=-auroraux
+ ;;
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
+ -svr4*)
+ os=-sysv4
+ ;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
+ -gnu/linux*)
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ ;;
+ # First accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST END IN A *, to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+ | -sym* | -kopensolaris* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* | -aros* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -openbsd* | -solidbsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* | -cegcc* \
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i*86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto-qnx*)
+ ;;
+ -nto*)
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ ;;
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ ;;
+ -mac*)
+ os=`echo $os | sed -e 's|mac|macos|'`
+ ;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
+ -linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
+ -sunos5*)
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ ;;
+ -opened*)
+ os=-openedition
+ ;;
+ -os400*)
+ os=-os400
+ ;;
+ -wince*)
+ os=-wince
+ ;;
+ -osfrose*)
+ os=-osfrose
+ ;;
+ -osf*)
+ os=-osf
+ ;;
+ -utek*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -acis*)
+ os=-aos
+ ;;
+ -atheos*)
+ os=-atheos
+ ;;
+ -syllable*)
+ os=-syllable
+ ;;
+ -386bsd)
+ os=-bsd
+ ;;
+ -ctix* | -uts*)
+ os=-sysv
+ ;;
+ -nova*)
+ os=-rtmk-nova
+ ;;
+ -ns2 )
+ os=-nextstep2
+ ;;
+ -nsk*)
+ os=-nsk
+ ;;
+ # Preserve the version number of sinix5.
+ -sinix5.*)
+ os=`echo $os | sed -e 's|sinix|sysv|'`
+ ;;
+ -sinix*)
+ os=-sysv4
+ ;;
+ -tpf*)
+ os=-tpf
+ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
+ -svr4)
+ os=-sysv4
+ ;;
+ -svr3)
+ os=-sysv3
+ ;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
+ -ose*)
+ os=-ose
+ ;;
+ -es1800*)
+ os=-ose
+ ;;
+ -xenix)
+ os=-xenix
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ os=-mint
+ ;;
+ -aros*)
+ os=-aros
+ ;;
+ -kaos*)
+ os=-kaos
+ ;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
+ -dicos*)
+ os=-dicos
+ ;;
+ -none)
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=`echo $os | sed 's/[^-]*-//'`
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+ score-*)
+ os=-elf
+ ;;
+ spu-*)
+ os=-elf
+ ;;
+ *-acorn)
+ os=-riscix1.2
+ ;;
+ arm*-rebel)
+ os=-linux
+ ;;
+ arm*-semi)
+ os=-aout
+ ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=-tops20
+ ;;
+ pdp11-*)
+ os=-none
+ ;;
+ *-dec | vax-*)
+ os=-ultrix4.2
+ ;;
+ m68*-apollo)
+ os=-domain
+ ;;
+ i386-sun)
+ os=-sunos4.0.2
+ ;;
+ m68000-sun)
+ os=-sunos3
+ # This also exists in the configure program, but was not the
+ # default.
+ # os=-sunos4
+ ;;
+ m68*-cisco)
+ os=-aout
+ ;;
+ mep-*)
+ os=-elf
+ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+ mips*-*)
+ os=-elf
+ ;;
+ or32-*)
+ os=-coff
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
+ ;;
+ sparc-* | *-sun)
+ os=-sunos4.1.1
+ ;;
+ *-be)
+ os=-beos
+ ;;
+ *-haiku)
+ os=-haiku
+ ;;
+ *-ibm)
+ os=-aix
+ ;;
+ *-knuth)
+ os=-mmixware
+ ;;
+ *-wec)
+ os=-proelf
+ ;;
+ *-winbond)
+ os=-proelf
+ ;;
+ *-oki)
+ os=-proelf
+ ;;
+ *-hp)
+ os=-hpux
+ ;;
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=-sysv
+ ;;
+ *-cbm)
+ os=-amigaos
+ ;;
+ *-dg)
+ os=-dgux
+ ;;
+ *-dolphin)
+ os=-sysv3
+ ;;
+ m68k-ccur)
+ os=-rtu
+ ;;
+ m88k-omron*)
+ os=-luna
+ ;;
+ *-next )
+ os=-nextstep
+ ;;
+ *-sequent)
+ os=-ptx
+ ;;
+ *-crds)
+ os=-unos
+ ;;
+ *-ns)
+ os=-genix
+ ;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-next)
+ os=-nextstep3
+ ;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-siemens)
+ os=-sysv4
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ f30[01]-fujitsu | f700-fujitsu)
+ os=-uxpv
+ ;;
+ *-rom68k)
+ os=-coff
+ ;;
+ *-*bug)
+ os=-coff
+ ;;
+ *-apple)
+ os=-macos
+ ;;
+ *-atari*)
+ os=-mint
+ ;;
+ *)
+ os=-none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
+ -sunos*)
+ vendor=sun
+ ;;
+ -cnk*|-aix*)
+ vendor=ibm
+ ;;
+ -beos*)
+ vendor=be
+ ;;
+ -hpux*)
+ vendor=hp
+ ;;
+ -mpeix*)
+ vendor=hp
+ ;;
+ -hiux*)
+ vendor=hitachi
+ ;;
+ -unos*)
+ vendor=crds
+ ;;
+ -dgux*)
+ vendor=dg
+ ;;
+ -luna*)
+ vendor=omron
+ ;;
+ -genix*)
+ vendor=ns
+ ;;
+ -mvs* | -opened*)
+ vendor=ibm
+ ;;
+ -os400*)
+ vendor=ibm
+ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
+ -tpf*)
+ vendor=ibm
+ ;;
+ -vxsim* | -vxworks* | -windiss*)
+ vendor=wrs
+ ;;
+ -aux*)
+ vendor=apple
+ ;;
+ -hms*)
+ vendor=hitachi
+ ;;
+ -mpw* | -macos*)
+ vendor=apple
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ vendor=atari
+ ;;
+ -vos*)
+ vendor=stratus
+ ;;
+ esac
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+ ;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..8460876
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,171 @@
+AC_PREREQ(2.62)
+
+AC_INIT([mate-menus], [2011.11.16], [https://github.com/perberos/mate-desktop-environment])
+AC_CONFIG_SRCDIR(libmenu/matemenu-tree.h)
+
+AM_INIT_AUTOMAKE([1.9 foreign no-dist-gzip dist-bzip2])
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+AC_CONFIG_MACRO_DIR([m4])
+AM_CONFIG_HEADER(config.h)
+
+AM_MAINTAINER_MODE
+MATE_MAINTAINER_MODE_DEFINES
+
+# Before making a release, the LT_VERSION string should be modified.
+# The string is of the form C:R:A.
+# - If interfaces have been changed or added, but binary compatibility has
+# been preserved, change to C+1:0:A+1
+# - If binary compatibility has been broken (eg removed or changed interfaces)
+# change to C+1:0:0
+# - If the interface is the same as the previous version, change to C:R+1:A
+
+LIB_MENU_LT_VERSION=6:9:4
+AC_SUBST(LIB_MENU_LT_VERSION)
+
+GETTEXT_PACKAGE=mate-menus
+AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Name of default gettext domain])
+AC_SUBST(GETTEXT_PACKAGE)
+
+AM_GLIB_GNU_GETTEXT
+
+IT_PROG_INTLTOOL([0.40.0])
+
+AC_ISC_POSIX
+AC_PROG_CC
+AC_STDC_HEADERS
+AC_ARG_PROGRAM
+AC_LIBTOOL_WIN32_DLL
+AM_PROG_LIBTOOL
+
+dnl make sure we keep ACLOCAL_FLAGS around for maintainer builds to work
+AC_SUBST(ACLOCAL_AMFLAGS, "$ACLOCAL_FLAGS")
+
+PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.6.0 gio-2.0 >= 2.15.2)
+AC_SUBST(GLIB_CFLAGS)
+AC_SUBST(GLIB_LIBS)
+
+MATE_COMPILE_WARNINGS(yes)
+
+AC_ARG_ENABLE(deprecation_flags,
+ [AC_HELP_STRING([--enable-deprecation-flags],
+ [use *_DISABLE_DEPRECATED flags @<:@default=no@:>@])],,
+ [enable_deprecation_flags=no])
+
+if test "x$enable_deprecation_flags" = "xyes"; then
+ DISABLE_DEPRECATED_CFLAGS=$DISABLE_DEPRECATED
+ AC_SUBST(DISABLE_DEPRECATED_CFLAGS)
+fi
+
+dnl --enable-debug=(yes|minimum|no)
+AC_ARG_ENABLE(debug,
+ [AC_HELP_STRING([--enable-debug],
+ [turn on debugging @<:@default=minimum@:>@])],,
+ [enable_debug=minimum])
+if test "$enable_debug" = "yes"; then
+ DEBUG_CFLAGS="-DG_ENABLE_DEBUG"
+else
+ if test "x$enable_debug" = "xno"; then
+ DEBUG_CFLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS"
+ else
+ DEBUG_CFLAGS=""
+ # make sure we have the right string for the configure summary
+ enable_debug="minimum"
+ fi
+fi
+AC_SUBST(DEBUG_CFLAGS)
+
+AC_ARG_ENABLE(python,
+ [AC_HELP_STRING([--enable-python],
+ [build python bindings @<:@default=auto@:>@])],
+ [enable_deprecations=$enableval],
+ [enable_deprecations=auto])
+
+# Detect if we can build Python bindings (need python and python headers)
+if test "x$enable_python" = "xno" ; then
+ have_python=no
+else
+ AC_MSG_NOTICE([Checking to see if we can build Python bindings])
+ have_python=no
+ AM_PATH_PYTHON(2.3)
+
+ if test "x$PYTHON" = "x" ; then
+ AC_MSG_WARN([Python not found])
+ else
+ AM_CHECK_PYTHON_HEADERS(have_python_headers=yes, have_python_headers=no)
+ if test "x$have_python_headers" = "xyes" ; then
+ have_python=yes
+ fi
+ fi
+
+ if test "x$have_python" = "xno" ; then
+ if test "x$enable_python" = "xyes" ; then
+ AC_MSG_ERROR([Building python explicitly requested, but can't build python bindings])
+ else
+ AC_MSG_WARN([Couldn't find the Python headers, not building Python bindings])
+ fi
+ fi
+fi
+
+AM_CONDITIONAL(HAVE_PYTHON, test x$have_python = xyes)
+
+# Because of the way Python implements polymorphism, we get the following warning:
+# "warning: dereferencing type-punned pointer will break strict-aliasing rules"
+# -fno-strict-aliasing (as used in Python build) switches warnings off
+NO_STRICT_ALIASING_CFLAGS=""
+if test "x$GCC" = "xyes" ; then
+ AC_MSG_CHECKING(whether $CC accepts -fno-strict-aliasing)
+ ac_save_cc="$CC"
+ CC="$CC -fno-strict-aliasing"
+ AC_TRY_RUN([int main() { return 0; }],
+ ac_cv_no_strict_aliasing_ok=yes,
+ ac_cv_no_strict_aliasing_ok=no,
+ ac_cv_no_strict_aliasing_ok=no)
+ CC="$ac_save_cc"
+ AC_MSG_RESULT($ac_cv_no_strict_aliasing_ok)
+ if test "x$ac_cv_no_strict_aliasing_ok" = "xyes" ; then
+ NO_STRICT_ALIASING_CFLAGS="-fno-strict-aliasing"
+ fi
+fi
+AC_SUBST(NO_STRICT_ALIASING_CFLAGS)
+
+GOBJECT_INTROSPECTION_CHECK([0.6.7])
+
+AC_OUTPUT([
+Makefile
+libmenu/Makefile
+libmenu/libmate-menu.pc
+libmenu/libmate-menu-uninstalled.pc
+layout/Makefile
+desktop-directories/Makefile
+util/Makefile
+python/Makefile
+po/Makefile.in
+])
+
+dnl ---------------------------------------------------------------------------
+dnl - Show summary
+dnl ---------------------------------------------------------------------------
+
+echo "
+ mate-menus $VERSION
+ `echo mate-menus $VERSION | sed "s/./=/g"`
+
+ prefix: ${prefix}
+ exec_prefix: ${exec_prefix}
+ libdir: ${libdir}
+ bindir: ${bindir}
+ sbindir: ${sbindir}
+ sysconfdir: ${sysconfdir}
+ localstatedir: ${localstatedir}
+ datadir: ${datadir}
+ source code location: ${srcdir}
+ compiler: ${CC}
+ cflags: ${CFLAGS}
+ Maintainer mode: ${USE_MAINTAINER_MODE}
+ Use *_DISABLE_DEPRECATED: ${enable_deprecation_flags}
+
+ Turn on debugging: ${enable_debug}
+ Build python bindings: ${have_python}
+ Build introspection support: ${found_introspection}
+
+"
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 <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Alexandre Oliva <[email protected]>.
+
+case $1 in
+ '')
+ echo "$0: No command. Try \`$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+ depmode Dependency tracking mode.
+ source Source file read by `PROGRAMS ARGS'.
+ object Object file output by `PROGRAMS ARGS'.
+ DEPDIR directory where to store dependencies.
+ depfile Dependency file to output.
+ tmpdepfile Temporary file to use when outputing dependencies.
+ libtool Whether libtool is used (yes/no).
+
+Report bugs to <[email protected]>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "depcomp $scriptversion"
+ exit $?
+ ;;
+esac
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+ echo "depcomp: Variables source, object and depmode must be set" 1>&2
+ exit 1
+fi
+
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+ sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Some modes work just like other modes, but use different flags. We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write. Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+ # HP compiler uses -M and no extra arg.
+ gccflag=-M
+ depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+ # This is just like dashmstdout with a different argument.
+ dashmflag=-xM
+ depmode=dashmstdout
+fi
+
+cygpath_u="cygpath -u -f -"
+if test "$depmode" = msvcmsys; then
+ # This is just like msvisualcpp but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u="sed s,\\\\\\\\,/,g"
+ depmode=msvisualcpp
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want. Yay! Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff. Hmm.
+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
+## the command line argument order; so add the flags where they
+## appear in depend2.am. Note that the slowdown incurred here
+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
+ for arg
+ do
+ case $arg in
+ -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
+ *) set fnord "$@" "$arg" ;;
+ esac
+ shift # fnord
+ shift # $arg
+ done
+ "$@"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ mv "$tmpdepfile" "$depfile"
+ ;;
+
+gcc)
+## There are various ways to get dependency output from gcc. Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+## up in a subdir. Having to rename by hand is ugly.
+## (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+## -MM, not -M (despite what the docs say).
+## - Using -M directly means running the compiler twice (even worse
+## than renaming).
+ if test -z "$gccflag"; then
+ gccflag=-MD,
+ fi
+ "$@" -Wp,"$gccflag$tmpdepfile"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+## The second -e expression handles DOS-style file names with drive letters.
+ sed -e 's/^[^:]*: / /' \
+ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the `deleted header file' problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header). We avoid this by adding
+## dummy dependencies for each header file. Too bad gcc doesn't do
+## this for us directly.
+ tr ' ' '
+' < "$tmpdepfile" |
+## Some versions of gcc put a space before the `:'. On the theory
+## that the space means something, we add a space to the output as
+## well.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+hp)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+sgi)
+ if test "$libtool" = yes; then
+ "$@" "-Wp,-MDupdate,$tmpdepfile"
+ else
+ "$@" -MDupdate "$tmpdepfile"
+ fi
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+
+ if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
+ echo "$object : \\" > "$depfile"
+
+ # Clip off the initial element (the dependent). Don't try to be
+ # clever and replace this with sed code, as IRIX sed won't handle
+ # lines with more than a fixed number of characters (4096 in
+ # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
+ # the IRIX cc adds comments like `#:fec' to the end of the
+ # dependency line.
+ tr ' ' '
+' < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
+ tr '
+' ' ' >> "$depfile"
+ echo >> "$depfile"
+
+ # The second pass generates a dummy entry for each header file.
+ tr ' ' '
+' < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+ >> "$depfile"
+ else
+ # The sourcefile does not contain any dependencies, so just
+ # store a dummy comment line, to avoid errors with the Makefile
+ # "include basename.Plo" scheme.
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+aix)
+ # The C for AIX Compiler uses -M and outputs the dependencies
+ # in a .u file. In older versions, this file always lives in the
+ # current directory. Also, the AIX compiler puts `$object:' at the
+ # start of each line; $object doesn't have directory information.
+ # Version 6 uses the directory in both cases.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$base.u
+ tmpdepfile3=$dir.libs/$base.u
+ "$@" -Wc,-M
+ else
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$dir$base.u
+ tmpdepfile3=$dir$base.u
+ "$@" -M
+ fi
+ stat=$?
+
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ # Each line is of the form `foo.o: dependent.h'.
+ # Do two passes, one to just change these to
+ # `$object: dependent.h' and one to simply `dependent.h:'.
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+ # That's a tab and a space in the [].
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+ else
+ # The sourcefile does not contain any dependencies, so just
+ # store a dummy comment line, to avoid errors with the Makefile
+ # "include basename.Plo" scheme.
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+icc)
+ # Intel's C compiler understands `-MD -MF file'. However on
+ # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+ # ICC 7.0 will fill foo.d with something like
+ # foo.o: sub/foo.c
+ # foo.o: sub/foo.h
+ # which is wrong. We want:
+ # sub/foo.o: sub/foo.c
+ # sub/foo.o: sub/foo.h
+ # sub/foo.c:
+ # sub/foo.h:
+ # ICC 7.1 will output
+ # foo.o: sub/foo.c sub/foo.h
+ # and will wrap long lines using \ :
+ # foo.o: sub/foo.c ... \
+ # sub/foo.h ... \
+ # ...
+
+ "$@" -MD -MF "$tmpdepfile"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ # Each line is of the form `foo.o: dependent.h',
+ # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+ # Do two passes, one to just change these to
+ # `$object: dependent.h' and one to simply `dependent.h:'.
+ sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
+ sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+hp2)
+ # The "hp" stanza above does not work with aCC (C++) and HP's ia64
+ # compilers, which have integrated preprocessors. The correct option
+ # to use with these is +Maked; it writes dependencies to a file named
+ # 'foo.d', which lands next to the object file, wherever that
+ # happens to be.
+ # Much of this is similar to the tru64 case; see comments there.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir.libs/$base.d
+ "$@" -Wc,+Maked
+ else
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir$base.d
+ "$@" +Maked
+ fi
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
+ # Add `dependent.h:' lines.
+ sed -ne '2,${
+ s/^ *//
+ s/ \\*$//
+ s/$/:/
+ p
+ }' "$tmpdepfile" >> "$depfile"
+ else
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile" "$tmpdepfile2"
+ ;;
+
+tru64)
+ # The Tru64 compiler uses -MD to generate dependencies as a side
+ # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+ # dependencies in `foo.d' instead, so we check for that too.
+ # Subdirectories are respected.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+
+ if test "$libtool" = yes; then
+ # With Tru64 cc, shared objects can also be used to make a
+ # static library. This mechanism is used in libtool 1.4 series to
+ # handle both shared and static libraries in a single compilation.
+ # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+ #
+ # With libtool 1.5 this exception was removed, and libtool now
+ # generates 2 separate objects for the 2 libraries. These two
+ # compilations output dependencies in $dir.libs/$base.o.d and
+ # in $dir$base.o.d. We have to check for both files, because
+ # one of the two compilations can be disabled. We should prefer
+ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+ # automatically cleaned when .libs/ is deleted, while ignoring
+ # the former would cause a distcleancheck panic.
+ tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
+ tmpdepfile2=$dir$base.o.d # libtool 1.5
+ tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
+ tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
+ "$@" -Wc,-MD
+ else
+ tmpdepfile1=$dir$base.o.d
+ tmpdepfile2=$dir$base.d
+ tmpdepfile3=$dir$base.d
+ tmpdepfile4=$dir$base.d
+ "$@" -MD
+ fi
+
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+ # That's a tab and a space in the [].
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+ else
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+#nosideeffect)
+ # This comment above is used by automake to tell side-effect
+ # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout, regardless of -o.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ # Remove `-o $object'.
+ IFS=" "
+ for arg
+ do
+ case $arg in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # $arg
+ ;;
+ esac
+ done
+
+ test -z "$dashmflag" && dashmflag=-M
+ # Require at least two characters before searching for `:'
+ # in the target name. This is to cope with DOS-style filenames:
+ # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+ "$@" $dashmflag |
+ sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
+ rm -f "$depfile"
+ cat < "$tmpdepfile" > "$depfile"
+ tr ' ' '
+' < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+dashXmstdout)
+ # This case only exists to satisfy depend.m4. It is never actually
+ # run, as this mode is specially recognized in the preamble.
+ exit 1
+ ;;
+
+makedepend)
+ "$@" || exit $?
+ # Remove any Libtool call
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+ # X makedepend
+ shift
+ cleared=no eat=no
+ for arg
+ do
+ case $cleared in
+ no)
+ set ""; shift
+ cleared=yes ;;
+ esac
+ if test $eat = yes; then
+ eat=no
+ continue
+ fi
+ case "$arg" in
+ -D*|-I*)
+ set fnord "$@" "$arg"; shift ;;
+ # Strip any option that makedepend may not understand. Remove
+ # the object too, otherwise makedepend will parse it as a source file.
+ -arch)
+ eat=yes ;;
+ -*|$object)
+ ;;
+ *)
+ set fnord "$@" "$arg"; shift ;;
+ esac
+ done
+ obj_suffix=`echo "$object" | sed 's/^.*\././'`
+ touch "$tmpdepfile"
+ ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+ rm -f "$depfile"
+ cat < "$tmpdepfile" > "$depfile"
+ sed '1,2d' "$tmpdepfile" | tr ' ' '
+' | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile" "$tmpdepfile".bak
+ ;;
+
+cpp)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ # Remove `-o $object'.
+ IFS=" "
+ for arg
+ do
+ case $arg in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # $arg
+ ;;
+ esac
+ done
+
+ "$@" -E |
+ sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+ sed '$ s: \\$::' > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ cat < "$tmpdepfile" >> "$depfile"
+ sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvisualcpp)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ IFS=" "
+ for arg
+ do
+ case "$arg" in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+ set fnord "$@"
+ shift
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift
+ shift
+ ;;
+ esac
+ done
+ "$@" -E 2>/dev/null |
+ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
+ echo " " >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvcmsys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+none)
+ exec "$@"
+ ;;
+
+*)
+ echo "Unknown depmode $depmode" 1>&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/desktop-directories/Makefile.am b/desktop-directories/Makefile.am
new file mode 100644
index 0000000..4bcc63c
--- /dev/null
+++ b/desktop-directories/Makefile.am
@@ -0,0 +1,37 @@
+directorydir = $(datadir)/mate/desktop-directories
+
+# Should be moved to mate-control-center:
+directory_in_controlcenterfiles = \
+ mate-hardware.directory.in \
+ mate-internet-and-network.directory.in \
+ mate-look-and-feel.directory.in \
+ mate-personal.directory.in \
+ mate-system.directory.in
+
+directory_in_files = \
+ mate-audio-video.directory.in \
+ mate-development.directory.in \
+ mate-education.directory.in \
+ mate-game.directory.in \
+ mate-graphics.directory.in \
+ mate-network.directory.in \
+ mate-office.directory.in \
+ mate-settings.directory.in \
+ mate-settings-system.directory.in \
+ mate-system-tools.directory.in \
+ mate-utility.directory.in \
+ mate-utility-accessibility.directory.in \
+ mate-other.directory.in \
+ mate-menu-applications.directory.in \
+ mate-menu-system.directory.in \
+ $(directory_in_controlcenterfiles)
+
+directory_DATA = $(directory_in_files:.directory.in=.directory)
+
+@INTLTOOL_DIRECTORY_RULE@
+
+EXTRA_DIST= $(directory_in_files)
+
+DISTCLEANFILES = $(directory_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/desktop-directories/mate-audio-video.directory.in b/desktop-directories/mate-audio-video.directory.in
new file mode 100644
index 0000000..966fda1
--- /dev/null
+++ b/desktop-directories/mate-audio-video.directory.in
@@ -0,0 +1,5 @@
+[Desktop Entry]
+_Name=Sound & Video
+_Comment=Multimedia menu
+Icon=applications-multimedia
+Type=Directory
diff --git a/desktop-directories/mate-development.directory.in b/desktop-directories/mate-development.directory.in
new file mode 100644
index 0000000..d7e9de9
--- /dev/null
+++ b/desktop-directories/mate-development.directory.in
@@ -0,0 +1,5 @@
+[Desktop Entry]
+_Name=Programming
+_Comment=Tools for software development
+Icon=applications-development
+Type=Directory
diff --git a/desktop-directories/mate-education.directory.in b/desktop-directories/mate-education.directory.in
new file mode 100644
index 0000000..689168a
--- /dev/null
+++ b/desktop-directories/mate-education.directory.in
@@ -0,0 +1,4 @@
+[Desktop Entry]
+_Name=Education
+Icon=applications-science
+Type=Directory
diff --git a/desktop-directories/mate-game.directory.in b/desktop-directories/mate-game.directory.in
new file mode 100644
index 0000000..610bbd8
--- /dev/null
+++ b/desktop-directories/mate-game.directory.in
@@ -0,0 +1,5 @@
+[Desktop Entry]
+_Name=Games
+_Comment=Games and amusements
+Icon=applications-games
+Type=Directory
diff --git a/desktop-directories/mate-graphics.directory.in b/desktop-directories/mate-graphics.directory.in
new file mode 100644
index 0000000..d2b4bb6
--- /dev/null
+++ b/desktop-directories/mate-graphics.directory.in
@@ -0,0 +1,5 @@
+[Desktop Entry]
+_Name=Graphics
+_Comment=Graphics applications
+Icon=applications-graphics
+Type=Directory
diff --git a/desktop-directories/mate-hardware.directory.in b/desktop-directories/mate-hardware.directory.in
new file mode 100644
index 0000000..e80430e
--- /dev/null
+++ b/desktop-directories/mate-hardware.directory.in
@@ -0,0 +1,5 @@
+[Desktop Entry]
+_Name=Hardware
+_Comment=Settings for several hardware devices
+Icon=preferences-desktop-peripherals
+Type=Directory
diff --git a/desktop-directories/mate-internet-and-network.directory.in b/desktop-directories/mate-internet-and-network.directory.in
new file mode 100644
index 0000000..a37586f
--- /dev/null
+++ b/desktop-directories/mate-internet-and-network.directory.in
@@ -0,0 +1,5 @@
+[Desktop Entry]
+_Name=Internet and Network
+_Comment=Network-related settings
+Icon=preferences-system-network
+Type=Directory
diff --git a/desktop-directories/mate-look-and-feel.directory.in b/desktop-directories/mate-look-and-feel.directory.in
new file mode 100644
index 0000000..ad8b187
--- /dev/null
+++ b/desktop-directories/mate-look-and-feel.directory.in
@@ -0,0 +1,5 @@
+[Desktop Entry]
+_Name=Look and Feel
+_Comment=Settings controlling the desktop appearance and behavior
+Icon=preferences-desktop
+Type=Directory
diff --git a/desktop-directories/mate-menu-applications.directory.in b/desktop-directories/mate-menu-applications.directory.in
new file mode 100644
index 0000000..d4106cb
--- /dev/null
+++ b/desktop-directories/mate-menu-applications.directory.in
@@ -0,0 +1,5 @@
+[Desktop Entry]
+_Name=Applications
+_Comment=Applications
+Icon=applications-other
+Type=Directory
diff --git a/desktop-directories/mate-menu-system.directory.in b/desktop-directories/mate-menu-system.directory.in
new file mode 100644
index 0000000..643f042
--- /dev/null
+++ b/desktop-directories/mate-menu-system.directory.in
@@ -0,0 +1,5 @@
+[Desktop Entry]
+_Name=System
+_Comment=Personal preferences and administration settings
+Icon=preferences-other
+Type=Directory
diff --git a/desktop-directories/mate-network.directory.in b/desktop-directories/mate-network.directory.in
new file mode 100644
index 0000000..bc88bee
--- /dev/null
+++ b/desktop-directories/mate-network.directory.in
@@ -0,0 +1,5 @@
+[Desktop Entry]
+_Name=Internet
+_Comment=Programs for Internet access such as web and email
+Icon=applications-internet
+Type=Directory
diff --git a/desktop-directories/mate-office.directory.in b/desktop-directories/mate-office.directory.in
new file mode 100644
index 0000000..d6c8d9e
--- /dev/null
+++ b/desktop-directories/mate-office.directory.in
@@ -0,0 +1,5 @@
+[Desktop Entry]
+_Name=Office
+_Comment=Office Applications
+Icon=applications-office
+Type=Directory
diff --git a/desktop-directories/mate-other.directory.in b/desktop-directories/mate-other.directory.in
new file mode 100644
index 0000000..898d406
--- /dev/null
+++ b/desktop-directories/mate-other.directory.in
@@ -0,0 +1,5 @@
+[Desktop Entry]
+_Name=Other
+_Comment=Applications that did not fit in other categories
+Icon=applications-other
+Type=Directory
diff --git a/desktop-directories/mate-personal.directory.in b/desktop-directories/mate-personal.directory.in
new file mode 100644
index 0000000..9f11595
--- /dev/null
+++ b/desktop-directories/mate-personal.directory.in
@@ -0,0 +1,6 @@
+[Desktop Entry]
+# Translators: this is Personal as in "Personal settings"
+_Name=Personal
+_Comment=Personal settings
+Icon=preferences-desktop-personal
+Type=Directory
diff --git a/desktop-directories/mate-settings-system.directory.in b/desktop-directories/mate-settings-system.directory.in
new file mode 100644
index 0000000..5dbb708
--- /dev/null
+++ b/desktop-directories/mate-settings-system.directory.in
@@ -0,0 +1,5 @@
+[Desktop Entry]
+Type=Directory
+_Name=Administration
+_Comment=Change system-wide settings (affects all users)
+Icon=preferences-system
diff --git a/desktop-directories/mate-settings.directory.in b/desktop-directories/mate-settings.directory.in
new file mode 100644
index 0000000..7c663a6
--- /dev/null
+++ b/desktop-directories/mate-settings.directory.in
@@ -0,0 +1,5 @@
+[Desktop Entry]
+_Name=Preferences
+_Comment=Personal preferences
+Icon=preferences-desktop
+Type=Directory
diff --git a/desktop-directories/mate-system-tools.directory.in b/desktop-directories/mate-system-tools.directory.in
new file mode 100644
index 0000000..d1d85be
--- /dev/null
+++ b/desktop-directories/mate-system-tools.directory.in
@@ -0,0 +1,5 @@
+[Desktop Entry]
+_Name=System Tools
+_Comment=System configuration and monitoring
+Icon=applications-system
+Type=Directory
diff --git a/desktop-directories/mate-system.directory.in b/desktop-directories/mate-system.directory.in
new file mode 100644
index 0000000..9de63bf
--- /dev/null
+++ b/desktop-directories/mate-system.directory.in
@@ -0,0 +1,5 @@
+[Desktop Entry]
+_Name=System
+_Comment=System settings
+Icon=preferences-system
+Type=Directory
diff --git a/desktop-directories/mate-utility-accessibility.directory.in b/desktop-directories/mate-utility-accessibility.directory.in
new file mode 100644
index 0000000..358b3a9
--- /dev/null
+++ b/desktop-directories/mate-utility-accessibility.directory.in
@@ -0,0 +1,5 @@
+[Desktop Entry]
+_Name=Universal Access
+_Comment=Universal Access Settings
+Type=Directory
+Icon=preferences-desktop-accessibility
diff --git a/desktop-directories/mate-utility.directory.in b/desktop-directories/mate-utility.directory.in
new file mode 100644
index 0000000..0edeeef
--- /dev/null
+++ b/desktop-directories/mate-utility.directory.in
@@ -0,0 +1,5 @@
+[Desktop Entry]
+_Name=Accessories
+_Comment=Desktop accessories
+Icon=applications-accessories
+Type=Directory
diff --git a/distro/archlinux/PKGBUILD b/distro/archlinux/PKGBUILD
new file mode 100644
index 0000000..56ff5ff
--- /dev/null
+++ b/distro/archlinux/PKGBUILD
@@ -0,0 +1,29 @@
+pkgname=mate-menus
+pkgver=2011.11.16
+pkgrel=1
+pkgdesc="MATE menu specifications"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('glib2' 'python2')
+makedepends=('intltool' 'gobject-introspection')
+options=('!emptydirs' '!libtool')
+source=(http://sourceforge.net/projects/matede/files/${pkgver}/${pkgname}.tar.gz/download)
+sha256sums=('c9ab6dec9b0157bbd3cd7618839fbbf30d6ddcee231c14e46cd267c2b56601d4')
+url="http://matsusoft.com.ar/projects"
+groups=('mate')
+
+build() {
+ cd "${srcdir}/${pkgname}"
+ PYTHON=/usr/bin/python2 ./autogen.sh \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --enable-python \
+ --disable-static || return 1
+ make || return 1
+}
+
+package() {
+ cd "${srcdir}/${pkgname}"
+ make DESTDIR="${pkgdir}" install || return 1
+}
diff --git a/distro/archlinux/menus.patch b/distro/archlinux/menus.patch
new file mode 100644
index 0000000..413d33c
--- /dev/null
+++ b/distro/archlinux/menus.patch
@@ -0,0 +1,25 @@
+--- layout/applications.menu 2005-06-28 10:16:39.000000000 +0200
++++ layout/applications.menu 2005-09-12 23:21:20.000000000 +0200
+@@ -7,7 +7,6 @@
+ <Directory>Applications.directory</Directory>
+
+ <!-- Scan legacy dirs first, as later items take priority -->
+- <KDELegacyDirs/>
+ <LegacyDir>/etc/X11/applnk</LegacyDir>
+ <LegacyDir>/usr/share/mate/apps</LegacyDir>
+
+@@ -18,6 +17,14 @@
+ <!-- Read in overrides and child menus from applications-merged/ -->
+ <DefaultMergeDirs/>
+
++ <!-- Archlinux submenu -->
++ <Menu>
++ <Name>Archlinux</Name>
++ <Directory>Archlinux.directory</Directory>
++ <Include>
++ <Category>Archlinux</Category>
++ </Include>
++ </Menu> <!-- End Archlinux -->
+ <!-- Accessories submenu -->
+ <Menu>
+ <Name>Accessories</Name>
diff --git a/distro/ubuntu/build b/distro/ubuntu/build
new file mode 100755
index 0000000..4f14709
--- /dev/null
+++ b/distro/ubuntu/build
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+# fill it
+pkgname=mate-menus
+pkgver=2011.10.29
+pkgrel=1
+pkgdesc="MATE menu specifications"
+#depends="glib2, python2"
+# editar esta funcion!
+build() {
+ cd $pkgsrc
+ # descomprimir
+ tar xvzf download
+ # entramos a la carpeta
+ cd ${pkgname}
+
+ #patch -Np0 -i "$srcdir/menus.patch"
+
+ ./configure \
+ --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static
+ make
+ make DESTDIR="${pkgdir}" install
+}
+
+# esto incluye la parte que se repite en la mayoria de los builds
+. /usr/share/mate-doc-utils/mate-debian.sh
diff --git a/install-sh b/install-sh
new file mode 100755
index 0000000..6781b98
--- /dev/null
+++ b/install-sh
@@ -0,0 +1,520 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2009-04-28.21; # UTC
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+
+nl='
+'
+IFS=" "" $nl"
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit=${DOITPROG-}
+if test -z "$doit"; then
+ doit_exec=exec
+else
+ doit_exec=$doit
+fi
+
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
+
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_glob='?'
+initialize_posix_glob='
+ test "$posix_glob" != "?" || {
+ if (set -f) 2>/dev/null; then
+ posix_glob=
+ else
+ posix_glob=:
+ fi
+ }
+'
+
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
+
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
+rmcmd="$rmprog -f"
+stripcmd=
+
+src=
+dst=
+dir_arg=
+dst_arg=
+
+copy_on_change=false
+no_target_directory=
+
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+ or: $0 [OPTION]... SRCFILES... DIRECTORY
+ or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+ or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+ --help display this help and exit.
+ --version display version info and exit.
+
+ -c (ignored)
+ -C install only if different (preserve the last data modification time)
+ -d create directories instead of installing files.
+ -g GROUP $chgrpprog installed files to GROUP.
+ -m MODE $chmodprog installed files to MODE.
+ -o USER $chownprog installed files to USER.
+ -s $stripprog installed files.
+ -t DIRECTORY install into DIRECTORY.
+ -T report an error if DSTFILE is a directory.
+
+Environment variables override the default commands:
+ CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+ RMPROG STRIPPROG
+"
+
+while test $# -ne 0; do
+ case $1 in
+ -c) ;;
+
+ -C) copy_on_change=true;;
+
+ -d) dir_arg=true;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift;;
+
+ --help) echo "$usage"; exit $?;;
+
+ -m) mode=$2
+ case $mode in
+ *' '* | *' '* | *'
+'* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
+
+ -o) chowncmd="$chownprog $2"
+ shift;;
+
+ -s) stripcmd=$stripprog;;
+
+ -t) dst_arg=$2
+ shift;;
+
+ -T) no_target_directory=true;;
+
+ --version) echo "$0 $scriptversion"; exit $?;;
+
+ --) shift
+ break;;
+
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
+
+ *) break;;
+ esac
+ shift
+done
+
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+ # When -d is used, all remaining arguments are directories to create.
+ # When -t is used, the destination is already specified.
+ # Otherwise, the last argument is the destination. Remove it from $@.
+ for arg
+ do
+ if test -n "$dst_arg"; then
+ # $@ is not empty: it contains at least $arg.
+ set fnord "$@" "$dst_arg"
+ shift # fnord
+ fi
+ shift # arg
+ dst_arg=$arg
+ done
+fi
+
+if test $# -eq 0; then
+ if test -z "$dir_arg"; then
+ echo "$0: no input file specified." >&2
+ exit 1
+ fi
+ # It's OK to call `install-sh -d' without argument.
+ # This can happen when creating conditional directories.
+ exit 0
+fi
+
+if test -z "$dir_arg"; then
+ trap '(exit $?); exit' 1 2 13 15
+
+ # Set umask so as not to create temps with too-generous modes.
+ # However, 'strip' requires both read and write access to temps.
+ case $mode in
+ # Optimize common cases.
+ *644) cp_umask=133;;
+ *755) cp_umask=22;;
+
+ *[0-7])
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw='% 200'
+ fi
+ cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+ *)
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw=,u+rw
+ fi
+ cp_umask=$mode$u_plus_rw;;
+ esac
+fi
+
+for src
+do
+ # Protect names starting with `-'.
+ case $src in
+ -*) src=./$src;;
+ esac
+
+ if test -n "$dir_arg"; then
+ dst=$src
+ dstdir=$dst
+ test -d "$dstdir"
+ dstdir_status=$?
+ else
+
+ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+ # might cause directories to be created, which would be especially bad
+ # if $src (and thus $dsttmp) contains '*'.
+ if test ! -f "$src" && test ! -d "$src"; then
+ echo "$0: $src does not exist." >&2
+ exit 1
+ fi
+
+ if test -z "$dst_arg"; then
+ echo "$0: no destination specified." >&2
+ exit 1
+ fi
+
+ dst=$dst_arg
+ # Protect names starting with `-'.
+ case $dst in
+ -*) dst=./$dst;;
+ esac
+
+ # If destination is a directory, append the input filename; won't work
+ # if double slashes aren't ignored.
+ if test -d "$dst"; then
+ if test -n "$no_target_directory"; then
+ echo "$0: $dst_arg: Is a directory" >&2
+ exit 1
+ fi
+ dstdir=$dst
+ dst=$dstdir/`basename "$src"`
+ dstdir_status=0
+ else
+ # Prefer dirname, but fall back on a substitute if dirname fails.
+ dstdir=`
+ (dirname "$dst") 2>/dev/null ||
+ expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$dst" : 'X\(//\)[^/]' \| \
+ X"$dst" : 'X\(//\)$' \| \
+ X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+ echo X"$dst" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'
+ `
+
+ test -d "$dstdir"
+ dstdir_status=$?
+ fi
+ fi
+
+ obsolete_mkdir_used=false
+
+ if test $dstdir_status != 0; then
+ case $posix_mkdir in
+ '')
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of 1997-10-28.
+ umask=`umask`
+ case $stripcmd.$umask in
+ # Optimize common cases.
+ *[2367][2367]) mkdir_umask=$umask;;
+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ case $umask in
+ *[123567][0-7][0-7])
+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ if (umask $mkdir_umask &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writeable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/d" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
+ esac
+
+ if
+ $posix_mkdir && (
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ )
+ then :
+ else
+
+ # The umask is ridiculous, or mkdir does not conform to POSIX,
+ # or it failed possibly due to a race condition. Create the
+ # directory the slow way, step by step, checking for races as we go.
+
+ case $dstdir in
+ /*) prefix='/';;
+ -*) prefix='./';;
+ *) prefix='';;
+ esac
+
+ eval "$initialize_posix_glob"
+
+ oIFS=$IFS
+ IFS=/
+ $posix_glob set -f
+ set fnord $dstdir
+ shift
+ $posix_glob set +f
+ IFS=$oIFS
+
+ prefixes=
+
+ for d
+ do
+ test -z "$d" && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask=$mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
+ done
+
+ if test -n "$prefixes"; then
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
+ fi
+ fi
+ fi
+
+ if test -n "$dir_arg"; then
+ { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+ { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+ else
+
+ # Make a couple of temp file names in the proper directory.
+ dsttmp=$dstdir/_inst.$$_
+ rmtmp=$dstdir/_rm.$$_
+
+ # Trap to clean up those temp files at exit.
+ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+
+ # Copy the file name to the temp name.
+ (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+
+ # and set any options; do chmod last to preserve setuid bits.
+ #
+ # If any of these fail, we abort the whole thing. If we want to
+ # ignore errors from any of these, just make sure not to ignore
+ # errors from the above "$doit $cpprog $src $dsttmp" command.
+ #
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+ { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+ { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+ # If -C, don't bother to copy if it wouldn't change the file.
+ if $copy_on_change &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+
+ eval "$initialize_posix_glob" &&
+ $posix_glob set -f &&
+ set X $old && old=:$2:$4:$5:$6 &&
+ set X $new && new=:$2:$4:$5:$6 &&
+ $posix_glob set +f &&
+
+ test "$old" = "$new" &&
+ $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+ then
+ rm -f "$dsttmp"
+ else
+ # Rename the file to the real destination.
+ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+ # The rename failed, perhaps because mv can't rename something else
+ # to itself, or perhaps because mv is so ancient that it does not
+ # support -f.
+ {
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
+ }
+ fi || exit 1
+
+ trap '' 0
+ fi
+done
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/layout/Makefile.am b/layout/Makefile.am
new file mode 100644
index 0000000..f6ab8e6
--- /dev/null
+++ b/layout/Makefile.am
@@ -0,0 +1,9 @@
+menudir = $(sysconfdir)/xdg/menus
+
+menu_DATA = \
+ mate-applications.menu \
+ mate-settings.menu
+
+EXTRA_DIST= $(menu_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/layout/mate-applications.menu b/layout/mate-applications.menu
new file mode 100644
index 0000000..2b917cc
--- /dev/null
+++ b/layout/mate-applications.menu
@@ -0,0 +1,154 @@
+<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
+ "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
+
+<Menu>
+
+ <Name>Applications</Name>
+ <Directory>mate-menu-applications.directory</Directory>
+
+ <!-- Scan legacy dirs first, as later items take priority -->
+ <KDELegacyDirs/>
+ <LegacyDir>/etc/X11/applnk</LegacyDir>
+ <LegacyDir>/usr/share/mate/apps</LegacyDir>
+
+ <!-- Read standard .directory and .desktop file locations -->
+ <DefaultAppDirs/>
+ <DefaultDirectoryDirs/>
+
+ <!-- Read in overrides and child menus from applications-merged/ -->
+ <DefaultMergeDirs/>
+
+ <!-- Accessories submenu -->
+ <Menu>
+ <Name>Accessories</Name>
+ <Directory>mate-utility.directory</Directory>
+ <Include>
+ <And>
+ <Category>Utility</Category>
+ <!-- Accessibility spec must have either the Utility or Settings
+ category, and we display an accessibility submenu already for
+ the ones that do not have Settings, so don't display accessibility
+ applications here -->
+ <Not><Category>Accessibility</Category></Not>
+ <Not><Category>System</Category></Not>
+ </And>
+ </Include>
+ </Menu> <!-- End Accessories -->
+
+ <!-- Accessibility submenu -->
+ <Menu>
+ <Name>Universal Access</Name>
+ <Directory>mate-utility-accessibility.directory</Directory>
+ <Include>
+ <And>
+ <Category>Accessibility</Category>
+ <Not><Category>Settings</Category></Not>
+ </And>
+ </Include>
+ </Menu> <!-- End Accessibility -->
+
+ <!-- Development Tools -->
+ <Menu>
+ <Name>Development</Name>
+ <Directory>mate-development.directory</Directory>
+ <Include>
+ <And>
+ <Category>Development</Category>
+ </And>
+ <Filename>emacs.desktop</Filename>
+ </Include>
+ </Menu> <!-- End Development Tools -->
+
+ <!-- Education -->
+ <Menu>
+ <Name>Education</Name>
+ <Directory>mate-education.directory</Directory>
+ <Include>
+ <And>
+ <Category>Education</Category>
+ </And>
+ </Include>
+ </Menu> <!-- End Education -->
+
+ <!-- Games -->
+ <Menu>
+ <Name>Games</Name>
+ <Directory>mate-game.directory</Directory>
+ <Include>
+ <And>
+ <Category>Game</Category>
+ </And>
+ </Include>
+ </Menu> <!-- End Games -->
+
+ <!-- Graphics -->
+ <Menu>
+ <Name>Graphics</Name>
+ <Directory>mate-graphics.directory</Directory>
+ <Include>
+ <And>
+ <Category>Graphics</Category>
+ </And>
+ </Include>
+ </Menu> <!-- End Graphics -->
+
+ <!-- Internet -->
+ <Menu>
+ <Name>Internet</Name>
+ <Directory>mate-network.directory</Directory>
+ <Include>
+ <And>
+ <Category>Network</Category>
+ </And>
+ </Include>
+ </Menu> <!-- End Internet -->
+
+ <!-- Multimedia -->
+ <Menu>
+ <Name>Multimedia</Name>
+ <Directory>mate-audio-video.directory</Directory>
+ <Include>
+ <And>
+ <Category>AudioVideo</Category>
+ </And>
+ </Include>
+ </Menu> <!-- End Multimedia -->
+
+ <!-- Office -->
+ <Menu>
+ <Name>Office</Name>
+ <Directory>mate-office.directory</Directory>
+ <Include>
+ <And>
+ <Category>Office</Category>
+ </And>
+ </Include>
+ </Menu> <!-- End Office -->
+
+ <!-- System Tools-->
+ <Menu>
+ <Name>System</Name>
+ <Directory>mate-system-tools.directory</Directory>
+ <Include>
+ <And>
+ <Category>System</Category>
+ <Not><Category>Settings</Category></Not>
+ </And>
+ </Include>
+ </Menu> <!-- End System Tools -->
+
+ <!-- Other -->
+ <Menu>
+ <Name>Other</Name>
+ <Directory>mate-other.directory</Directory>
+ <OnlyUnallocated/>
+ <Include>
+ <And>
+ <Not><Category>Core</Category></Not>
+ <Not><Category>Settings</Category></Not>
+ <Not><Category>Screensaver</Category></Not>
+ </And>
+ </Include>
+ </Menu> <!-- End Other -->
+
+</Menu> <!-- End Applications -->
diff --git a/layout/mate-settings.menu b/layout/mate-settings.menu
new file mode 100644
index 0000000..18b7e17
--- /dev/null
+++ b/layout/mate-settings.menu
@@ -0,0 +1,57 @@
+<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
+ "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
+
+<Menu>
+
+ <Name>Desktop</Name>
+ <Directory>mate-menu-system.directory</Directory>
+
+ <!-- Read standard .directory and .desktop file locations -->
+ <DefaultAppDirs/>
+ <DefaultDirectoryDirs/>
+
+ <!-- Read in overrides and child menus from applications-merged/ -->
+ <DefaultMergeDirs/>
+
+ <!-- Add a link to the control center -->
+ <Include>
+ <Filename>matecc.desktop</Filename>
+ </Include>
+
+ <!-- Merge in these other files as submenus -->
+ <Menu>
+ <Name>Preferences</Name>
+ <Directory>mate-settings.directory</Directory>
+ <Include>
+ <And>
+ <Category>Settings</Category>
+ <Not>
+ <Or>
+ <Category>System</Category>
+ <Filename>matecc.desktop</Filename>
+ </Or>
+ </Not>
+ </And>
+ </Include>
+ </Menu>
+
+ <!-- System Settings -->
+ <Menu>
+ <Name>Administration</Name>
+ <Directory>mate-settings-system.directory</Directory>
+ <Include>
+ <And>
+ <Category>Settings</Category>
+ <Category>System</Category>
+ </And>
+ </Include>
+ </Menu> <!-- End System Settings -->
+
+ <Layout>
+ <Menuname>Preferences</Menuname>
+ <Menuname>Administration</Menuname>
+ <Merge type="menus"/>
+ <Merge type="files"/>
+ </Layout>
+
+</Menu> <!-- End Settings -->
diff --git a/libmenu/Makefile.am b/libmenu/Makefile.am
new file mode 100644
index 0000000..3d06096
--- /dev/null
+++ b/libmenu/Makefile.am
@@ -0,0 +1,78 @@
+lib_LTLIBRARIES = libmate-menu.la
+
+AM_CPPFLAGS = \
+ $(GLIB_CFLAGS) \
+ -DMATEMENU_I_KNOW_THIS_IS_UNSTABLE \
+ $(DISABLE_DEPRECATED_CFLAGS) \
+ $(DEBUG_CFLAGS)
+
+AM_CFLAGS = $(WARN_CFLAGS)
+
+libmate_menu_includedir = $(includedir)/mate-menus
+libmate_menu_include_HEADERS = \
+ matemenu-tree.h
+
+libmate_menu_sources = \
+ canonicalize.c \
+ desktop-entries.c \
+ entry-directories.c \
+ matemenu-tree.c \
+ menu-layout.c \
+ menu-monitor.c \
+ menu-util.c
+
+libmate_menu_la_SOURCES = \
+ $(libmate_menu_sources) \
+ canonicalize.h \
+ desktop-entries.h \
+ entry-directories.h \
+ matemenu-tree.h \
+ menu-layout.h \
+ menu-monitor.h \
+ menu-util.h
+
+libmate_menu_la_LIBADD = \
+ $(GLIB_LIBS)
+
+libmate_menu_la_LDFLAGS = \
+ -version-info $(LIB_MENU_LT_VERSION) \
+ -no-undefined \
+ -export-symbols-regex matemenu_tree
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = libmate-menu.pc
+
+EXTRA_DIST = \
+ libmate-menu.pc.in \
+ libmate-menu-uninstalled.pc.in
+
+CLEANFILES =
+
+# Introspection
+-include $(INTROSPECTION_MAKEFILE)
+INTROSPECTION_GIRS =
+INTROSPECTION_SCANNER_ARGS = --warn-all --add-include-path=$(srcdir)
+INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
+
+if HAVE_INTROSPECTION
+# Note: we only include the headers here so far because there's no gtk-doc at all anyway
+introspection_sources = $(libmate_menu_include_HEADERS)
+
+MateMenu-2.0.gir: libmate-menu.la
+MateMenu_2_0_gir_INCLUDES = GObject-2.0
+MateMenu_2_0_gir_CFLAGS = $(AM_CPPFLAGS)
+MateMenu_2_0_gir_LIBS = libmate-menu.la
+MateMenu_2_0_gir_SCANNERFLAGS = --pkg-export=libmate-menu
+MateMenu_2_0_gir_FILES = $(addprefix $(srcdir)/,$(introspection_sources))
+INTROSPECTION_GIRS += MateMenu-2.0.gir
+
+girdir = $(INTROSPECTION_GIRDIR)
+gir_DATA = $(INTROSPECTION_GIRS)
+
+typelibdir = $(INTROSPECTION_TYPELIBDIR)
+typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
+
+CLEANFILES += $(gir_DATA) $(typelib_DATA)
+endif
+
+-include $(top_srcdir)/git.mk
diff --git a/libmenu/canonicalize.c b/libmenu/canonicalize.c
new file mode 100644
index 0000000..82082e9
--- /dev/null
+++ b/libmenu/canonicalize.c
@@ -0,0 +1,326 @@
+/* Return the canonical absolute name of a given file.
+ * Copyright (C) 1996-2001, 2002 Free Software Foundation, Inc.
+ * This file is part of the GNU C Library.
+ *
+ * Copyright (C) 2002 Red Hat, Inc. (trivial port to GLib)
+ *
+ * The GNU C Library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * The GNU C Library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the GNU C Library; if not, write to the Free
+ * Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307 USA.
+ */
+
+#include <config.h>
+
+#include "canonicalize.h"
+
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <limits.h>
+#include <sys/param.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <stddef.h>
+
+/* Return the canonical absolute name of file NAME. A canonical name
+ does not contain any `.', `..' components nor any repeated path
+ separators ('/') or symlinks. All path components must exist. If
+ RESOLVED is null, the result is malloc'd; otherwise, if the
+ canonical name is PATH_MAX chars or more, returns null with `errno'
+ set to ENAMETOOLONG; if the name fits in fewer than PATH_MAX chars,
+ returns the name in RESOLVED. If the name cannot be resolved and
+ RESOLVED is non-NULL, it contains the path of the first component
+ that cannot be resolved. If the path can be resolved, RESOLVED
+ holds the same value as the value returned. */
+
+static char* menu_realpath(const char* name, char* resolved)
+{
+ char* rpath = NULL;
+ char* dest = NULL;
+ char* extra_buf = NULL;
+ const char* start;
+ const char* end;
+ const char* rpath_limit;
+ long int path_max;
+ int num_links = 0;
+
+ if (name == NULL)
+ {
+ /* As per Single Unix Specification V2 we must return an error if
+ * either parameter is a null pointer. We extend this to allow
+ * the RESOLVED parameter to be NULL in case the we are expected to
+ * allocate the room for the return value. */
+ errno = EINVAL;
+ return NULL;
+ }
+
+ if (name[0] == '\0')
+ {
+ /* As per Single Unix Specification V2 we must return an error if
+ * the name argument points to an empty string. */
+ errno = ENOENT;
+ return NULL;
+ }
+
+ #ifdef PATH_MAX
+ path_max = PATH_MAX;
+ #else
+ path_max = pathconf(name, _PC_PATH_MAX);
+
+ if (path_max <= 0)
+ {
+ path_max = 1024;
+ }
+ #endif
+
+ rpath = resolved ? g_alloca(path_max) : g_malloc(path_max);
+ rpath_limit = rpath + path_max;
+
+ if (name[0] != G_DIR_SEPARATOR)
+ {
+ if (!getcwd(rpath, path_max))
+ {
+ rpath[0] = '\0';
+ goto error;
+ }
+
+ dest = strchr(rpath, '\0');
+ }
+ else
+ {
+ rpath[0] = G_DIR_SEPARATOR;
+ dest = rpath + 1;
+ }
+
+ for (start = end = name; *start; start = end)
+ {
+ struct stat st;
+ int n;
+
+ /* Skip sequence of multiple path-separators. */
+ while (*start == G_DIR_SEPARATOR)
+ {
+ ++start;
+ }
+
+ /* Find end of path component. */
+ for (end = start; *end && *end != G_DIR_SEPARATOR; ++end)
+ {
+ /* Nothing. */;
+ }
+
+ if (end - start == 0)
+ {
+ break;
+ }
+ else if (end - start == 1 && start[0] == '.')
+ {
+ /* nothing */;
+ }
+ else if (end - start == 2 && start[0] == '.' && start[1] == '.')
+ {
+ /* Back up to previous component, ignore if at root already. */
+ if (dest > rpath + 1)
+ {
+ while ((--dest)[-1] != G_DIR_SEPARATOR)
+ {
+ /* Nothing. */;
+ }
+ }
+ }
+ else
+ {
+ size_t new_size;
+
+ if (dest[-1] != G_DIR_SEPARATOR)
+ {
+ *dest++ = G_DIR_SEPARATOR;
+ }
+
+ if (dest + (end - start) >= rpath_limit)
+ {
+ char* new_rpath;
+ ptrdiff_t dest_offset = dest - rpath;
+
+ if (resolved)
+ {
+ #ifdef ENAMETOOLONG
+ errno = ENAMETOOLONG;
+ #else
+ /* Uh... just pick something */
+ errno = EINVAL;
+ #endif
+
+ if (dest > rpath + 1)
+ {
+ dest--;
+ }
+
+ *dest = '\0';
+ goto error;
+ }
+
+ new_size = rpath_limit - rpath;
+
+ if (end - start + 1 > path_max)
+ {
+ new_size += end - start + 1;
+ }
+ else
+ {
+ new_size += path_max;
+ }
+
+ new_rpath = (char*) realloc(rpath, new_size);
+
+ if (new_rpath == NULL)
+ {
+ goto error;
+ }
+
+ rpath = new_rpath;
+ rpath_limit = rpath + new_size;
+
+ dest = rpath + dest_offset;
+ }
+
+ memcpy(dest, start, end - start);
+ dest = dest + (end - start);
+ *dest = '\0';
+
+ if (stat(rpath, &st) < 0)
+ {
+ goto error;
+ }
+
+ if (S_ISLNK(st.st_mode))
+ {
+ char* buf = alloca(path_max);
+ size_t len;
+
+ if (++num_links > MAXSYMLINKS)
+ {
+ errno = ELOOP;
+ goto error;
+ }
+
+ n = readlink(rpath, buf, path_max);
+
+ if (n < 0)
+ {
+ goto error;
+ }
+
+ buf[n] = '\0';
+
+
+
+ if (!extra_buf)
+ {
+ extra_buf = g_alloca(path_max);
+ }
+
+ len = strlen(end);
+
+ if ((long int) (n + len) >= path_max)
+ {
+ #ifdef ENAMETOOLONG
+ errno = ENAMETOOLONG;
+ #else
+ /* Uh... just pick something */
+ errno = EINVAL;
+ #endif
+
+ goto error;
+ }
+
+ /* Careful here, end may be a pointer into extra_buf... */
+ g_memmove(&extra_buf[n], end, len + 1);
+ name = end = memcpy(extra_buf, buf, n);
+
+ if (buf[0] == G_DIR_SEPARATOR)
+ {
+ dest = rpath + 1; /* It's an absolute symlink */
+ }
+ else
+ {
+ /* Back up to previous component, ignore if at root already: */
+ if (dest > rpath + 1)
+ {
+ while ((--dest)[-1] != G_DIR_SEPARATOR)
+ {
+ /* Nothing. */;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if (dest > rpath + 1 && dest[-1] == G_DIR_SEPARATOR)
+ {
+ --dest;
+ }
+
+ *dest = '\0';
+
+ return resolved ? memcpy(resolved, rpath, dest - rpath + 1) : rpath;
+
+ error:
+
+ if (resolved)
+ {
+ strcpy(resolved, rpath);
+ }
+ else
+ {
+ g_free(rpath);
+ }
+
+ return NULL;
+}
+
+char* menu_canonicalize_file_name(const char* name, gboolean allow_missing_basename)
+{
+ char* retval;
+
+ retval = menu_realpath(name, NULL);
+
+ /* We could avoid some system calls by using the second
+ * argument to realpath() instead of doing realpath
+ * all over again, but who cares really. we'll see if
+ * it's ever in a profile.
+ */
+ if (allow_missing_basename && retval == NULL)
+ {
+ char* dirname;
+ char* canonical_dirname;
+
+ dirname = g_path_get_dirname(name);
+ canonical_dirname = menu_realpath(dirname, NULL);
+ g_free(dirname);
+
+ if (canonical_dirname)
+ {
+ char* basename;
+
+ basename = g_path_get_basename(name);
+ retval = g_build_filename(canonical_dirname, basename, NULL);
+ g_free(basename);
+ g_free(canonical_dirname);
+ }
+ }
+
+ return retval;
+}
diff --git a/libmenu/canonicalize.h b/libmenu/canonicalize.h
new file mode 100644
index 0000000..b5deddc
--- /dev/null
+++ b/libmenu/canonicalize.h
@@ -0,0 +1,38 @@
+/* Return the canonical absolute name of a given file.
+ * Copyright (C) 1996-2001, 2002 Free Software Foundation, Inc.
+ * This file is part of the GNU C Library.
+ *
+ * Copyright (C) 2002 Red Hat, Inc. (trivial port to GLib)
+ *
+ * The GNU C Library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * The GNU C Library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the GNU C Library; if not, write to the Free
+ * Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307 USA.
+ */
+
+#ifndef G_CANONICALIZE_H
+#define G_CANONICALIZE_H
+
+#include <glib.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+char* menu_canonicalize_file_name(const char* name, gboolean allow_missing_basename);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* G_CANONICALIZE_H */
diff --git a/libmenu/desktop-entries.c b/libmenu/desktop-entries.c
new file mode 100644
index 0000000..9488bde
--- /dev/null
+++ b/libmenu/desktop-entries.c
@@ -0,0 +1,816 @@
+/*
+ * Copyright (C) 2002 - 2004 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <config.h>
+
+#include "desktop-entries.h"
+
+#include <string.h>
+
+#include "menu-util.h"
+
+#define DESKTOP_ENTRY_GROUP "Desktop Entry"
+#define KDE_DESKTOP_ENTRY_GROUP "KDE Desktop Entry"
+
+enum {
+ DESKTOP_ENTRY_NO_DISPLAY = 1 << 0,
+ DESKTOP_ENTRY_HIDDEN = 1 << 1,
+ DESKTOP_ENTRY_SHOW_IN_MATE = 1 << 2,
+ DESKTOP_ENTRY_TRYEXEC_FAILED = 1 << 3
+};
+
+struct DesktopEntry {
+ char* path;
+ char* basename;
+
+ GQuark* categories;
+
+ char* name;
+ char* generic_name;
+ char* full_name;
+ char* comment;
+ char* icon;
+ char* exec;
+ gboolean terminal;
+
+ guint type: 2;
+ guint flags: 4;
+ guint refcount: 24;
+};
+
+struct DesktopEntrySet {
+ int refcount;
+ GHashTable* hash;
+};
+
+/*
+ * Desktop entries
+ */
+
+static guint get_flags_from_key_file(DesktopEntry* entry, GKeyFile* key_file, const char* desktop_entry_group)
+{
+ GError *error;
+ char **strv;
+ gboolean no_display;
+ gboolean hidden;
+ gboolean show_in_mate;
+ gboolean tryexec_failed;
+ char *tryexec;
+ guint flags;
+ int i;
+
+ error = NULL;
+ no_display = g_key_file_get_boolean (key_file,
+ desktop_entry_group,
+ "NoDisplay",
+ &error);
+ if (error)
+ {
+ no_display = FALSE;
+ g_error_free (error);
+ }
+
+ error = NULL;
+ hidden = g_key_file_get_boolean (key_file,
+ desktop_entry_group,
+ "Hidden",
+ &error);
+ if (error)
+ {
+ hidden = FALSE;
+ g_error_free (error);
+ }
+
+ show_in_mate = TRUE;
+ strv = g_key_file_get_string_list (key_file,
+ desktop_entry_group,
+ "OnlyShowIn",
+ NULL,
+ NULL);
+ if (strv)
+ {
+ show_in_mate = FALSE;
+ for (i = 0; strv[i]; i++)
+ {
+ if (!strcmp (strv[i], "MATE"))
+ {
+ show_in_mate = TRUE;
+ break;
+ }
+ }
+ }
+ else
+ {
+ strv = g_key_file_get_string_list (key_file,
+ desktop_entry_group,
+ "NotShowIn",
+ NULL,
+ NULL);
+ if (strv)
+ {
+ show_in_mate = TRUE;
+ for (i = 0; strv[i]; i++)
+ {
+ if (!strcmp (strv[i], "MATE"))
+ {
+ show_in_mate = FALSE;
+ }
+ }
+ }
+ }
+ g_strfreev (strv);
+
+ tryexec_failed = FALSE;
+ tryexec = g_key_file_get_string (key_file,
+ desktop_entry_group,
+ "TryExec",
+ NULL);
+ if (tryexec)
+ {
+ char *path;
+
+ path = g_find_program_in_path (g_strstrip (tryexec));
+
+ tryexec_failed = (path == NULL);
+
+ g_free (path);
+ g_free (tryexec);
+ }
+
+ flags = 0;
+ if (no_display)
+ flags |= DESKTOP_ENTRY_NO_DISPLAY;
+ if (hidden)
+ flags |= DESKTOP_ENTRY_HIDDEN;
+ if (show_in_mate)
+ flags |= DESKTOP_ENTRY_SHOW_IN_MATE;
+ if (tryexec_failed)
+ flags |= DESKTOP_ENTRY_TRYEXEC_FAILED;
+
+ return flags;
+}
+
+static GQuark* get_categories_from_key_file (DesktopEntry* entry, GKeyFile* key_file, const char* desktop_entry_group)
+{
+ GQuark *retval;
+ char **strv;
+ gsize len;
+ int i;
+
+ strv = g_key_file_get_string_list (key_file,
+ desktop_entry_group,
+ "Categories",
+ &len,
+ NULL);
+ if (!strv)
+ return NULL;
+
+ retval = g_new0 (GQuark, len + 1);
+
+ for (i = 0; strv[i]; i++)
+ retval[i] = g_quark_from_string (strv[i]);
+
+ g_strfreev (strv);
+
+ return retval;
+}
+
+static DesktopEntry* desktop_entry_load(DesktopEntry* entry)
+{
+ DesktopEntry *retval = NULL;
+ GKeyFile *key_file;
+ GError *error;
+ const char *desktop_entry_group;
+ char *name_str;
+ char *type_str;
+
+ key_file = g_key_file_new ();
+
+ error = NULL;
+ if (!g_key_file_load_from_file (key_file, entry->path, 0, &error))
+ {
+ menu_verbose ("Failed to load \"%s\": %s\n",
+ entry->path, error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ if (g_key_file_has_group (key_file, DESKTOP_ENTRY_GROUP))
+ {
+ desktop_entry_group = DESKTOP_ENTRY_GROUP;
+ }
+ else
+ {
+ menu_verbose ("\"%s\" contains no \"" DESKTOP_ENTRY_GROUP "\" group\n",
+ entry->path);
+
+ if (g_key_file_has_group (key_file, KDE_DESKTOP_ENTRY_GROUP))
+ {
+ desktop_entry_group = KDE_DESKTOP_ENTRY_GROUP;
+ menu_verbose ("\"%s\" contains deprecated \"" KDE_DESKTOP_ENTRY_GROUP "\" group\n",
+ entry->path);
+ }
+ else
+ {
+ goto out;
+ }
+ }
+
+ if (!g_key_file_has_key (key_file, desktop_entry_group, "Name", NULL))
+ {
+ menu_verbose ("\"%s\" contains no \"Name\" key\n", entry->path);
+ goto out;
+ }
+
+ name_str = g_key_file_get_locale_string (key_file, desktop_entry_group, "Name", NULL, NULL);
+ if (!name_str)
+ {
+ menu_verbose ("\"%s\" contains an invalid \"Name\" key\n", entry->path);
+ goto out;
+ }
+
+ g_free (name_str);
+
+ type_str = g_key_file_get_string (key_file, desktop_entry_group, "Type", NULL);
+ if (!type_str)
+ {
+ menu_verbose ("\"%s\" contains no \"Type\" key\n", entry->path);
+ goto out;
+ }
+
+ if ((entry->type == DESKTOP_ENTRY_DESKTOP && strcmp (type_str, "Application") != 0) ||
+ (entry->type == DESKTOP_ENTRY_DIRECTORY && strcmp (type_str, "Directory") != 0))
+ {
+ menu_verbose ("\"%s\" does not contain the correct \"Type\" value\n", entry->path);
+ g_free (type_str);
+ goto out;
+ }
+
+ g_free (type_str);
+
+ if (entry->type == DESKTOP_ENTRY_DESKTOP &&
+ !g_key_file_has_key (key_file, desktop_entry_group, "Exec", NULL))
+ {
+ menu_verbose ("\"%s\" does not contain an \"Exec\" key\n", entry->path);
+ goto out;
+ }
+
+ retval = entry;
+
+#define GET_LOCALE_STRING(n) g_key_file_get_locale_string (key_file, desktop_entry_group, (n), NULL, NULL)
+
+ retval->name = GET_LOCALE_STRING ("Name");
+ retval->generic_name = GET_LOCALE_STRING ("GenericName");
+ retval->full_name = GET_LOCALE_STRING ("X-MATE-FullName");
+ retval->comment = GET_LOCALE_STRING ("Comment");
+ retval->icon = GET_LOCALE_STRING ("Icon");
+ retval->flags = get_flags_from_key_file (retval, key_file, desktop_entry_group);
+ retval->categories = get_categories_from_key_file (retval, key_file, desktop_entry_group);
+
+ if (entry->type == DESKTOP_ENTRY_DESKTOP)
+ {
+ retval->exec = g_key_file_get_string (key_file, desktop_entry_group, "Exec", NULL);
+ retval->terminal = g_key_file_get_boolean (key_file, desktop_entry_group, "Terminal", NULL);
+ }
+
+#undef GET_LOCALE_STRING
+
+ menu_verbose ("Desktop entry \"%s\" (%s, %s, %s, %s, %s) flags: NoDisplay=%s, Hidden=%s, ShowInMATE=%s, TryExecFailed=%s\n",
+ retval->basename,
+ retval->name,
+ retval->generic_name ? retval->generic_name : "(null)",
+ retval->full_name ? retval->full_name : "(null)",
+ retval->comment ? retval->comment : "(null)",
+ retval->icon ? retval->icon : "(null)",
+ retval->flags & DESKTOP_ENTRY_NO_DISPLAY ? "(true)" : "(false)",
+ retval->flags & DESKTOP_ENTRY_HIDDEN ? "(true)" : "(false)",
+ retval->flags & DESKTOP_ENTRY_SHOW_IN_MATE ? "(true)" : "(false)",
+ retval->flags & DESKTOP_ENTRY_TRYEXEC_FAILED ? "(true)" : "(false)");
+
+ out:
+ g_key_file_free (key_file);
+
+ if (!retval)
+ desktop_entry_unref (entry);
+
+ return retval;
+}
+
+DesktopEntry* desktop_entry_new(const char* path)
+{
+ DesktopEntryType type;
+ DesktopEntry *retval;
+
+ menu_verbose ("Loading desktop entry \"%s\"\n", path);
+
+ if (g_str_has_suffix (path, ".desktop"))
+ {
+ type = DESKTOP_ENTRY_DESKTOP;
+ }
+ else if (g_str_has_suffix (path, ".directory"))
+ {
+ type = DESKTOP_ENTRY_DIRECTORY;
+ }
+ else
+ {
+ menu_verbose ("Unknown desktop entry suffix in \"%s\"\n",
+ path);
+ return NULL;
+ }
+
+ retval = g_new0 (DesktopEntry, 1);
+
+ retval->refcount = 1;
+ retval->type = type;
+ retval->basename = g_path_get_basename (path);
+ retval->path = g_strdup (path);
+
+ return desktop_entry_load (retval);
+}
+
+DesktopEntry* desktop_entry_reload(DesktopEntry* entry)
+{
+ g_return_val_if_fail (entry != NULL, NULL);
+
+ menu_verbose ("Re-loading desktop entry \"%s\"\n", entry->path);
+
+ g_free (entry->categories);
+ entry->categories = NULL;
+
+ g_free (entry->name);
+ entry->name = NULL;
+
+ g_free (entry->generic_name);
+ entry->generic_name = NULL;
+
+ g_free (entry->full_name);
+ entry->full_name = NULL;
+
+ g_free (entry->comment);
+ entry->comment = NULL;
+
+ g_free (entry->icon);
+ entry->icon = NULL;
+
+ g_free (entry->exec);
+ entry->exec = NULL;
+
+ entry->terminal = 0;
+ entry->flags = 0;
+
+ return desktop_entry_load (entry);
+}
+
+DesktopEntry* desktop_entry_ref(DesktopEntry* entry)
+{
+ g_return_val_if_fail (entry != NULL, NULL);
+ g_return_val_if_fail (entry->refcount > 0, NULL);
+
+ entry->refcount += 1;
+
+ return entry;
+}
+
+DesktopEntry* desktop_entry_copy(DesktopEntry* entry)
+{
+ DesktopEntry *retval;
+ int i;
+
+ menu_verbose ("Copying desktop entry \"%s\"\n",
+ entry->basename);
+
+ retval = g_new0 (DesktopEntry, 1);
+
+ retval->refcount = 1;
+ retval->type = entry->type;
+ retval->basename = g_strdup (entry->basename);
+ retval->path = g_strdup (entry->path);
+ retval->name = g_strdup (entry->name);
+ retval->generic_name = g_strdup (entry->generic_name);
+ retval->full_name = g_strdup (entry->full_name);
+ retval->comment = g_strdup (entry->comment);
+ retval->icon = g_strdup (entry->icon);
+ retval->exec = g_strdup (entry->exec);
+ retval->terminal = entry->terminal;
+ retval->flags = entry->flags;
+
+ i = 0;
+ if (entry->categories != NULL)
+ {
+ for (; entry->categories[i]; i++);
+ }
+
+ retval->categories = g_new0 (GQuark, i + 1);
+
+ i = 0;
+ if (entry->categories != NULL)
+ {
+ for (; entry->categories[i]; i++)
+ retval->categories[i] = entry->categories[i];
+ }
+
+ return retval;
+}
+
+void desktop_entry_unref(DesktopEntry* entry)
+{
+ g_return_if_fail (entry != NULL);
+ g_return_if_fail (entry->refcount > 0);
+
+ entry->refcount -= 1;
+ if (entry->refcount == 0)
+ {
+ g_free (entry->categories);
+ entry->categories = NULL;
+
+ g_free (entry->name);
+ entry->name = NULL;
+
+ g_free (entry->generic_name);
+ entry->generic_name = NULL;
+
+ g_free (entry->full_name);
+ entry->full_name = NULL;
+
+ g_free (entry->comment);
+ entry->comment = NULL;
+
+ g_free (entry->icon);
+ entry->icon = NULL;
+
+ g_free (entry->exec);
+ entry->exec = NULL;
+
+ g_free (entry->basename);
+ entry->basename = NULL;
+
+ g_free (entry->path);
+ entry->path = NULL;
+
+ g_free (entry);
+ }
+}
+
+DesktopEntryType desktop_entry_get_type(DesktopEntry* entry)
+{
+ return entry->type;
+}
+
+const char* desktop_entry_get_path(DesktopEntry* entry)
+{
+ return entry->path;
+}
+
+const char *
+desktop_entry_get_basename (DesktopEntry *entry)
+{
+ return entry->basename;
+}
+
+const char* desktop_entry_get_name(DesktopEntry* entry)
+{
+ return entry->name;
+}
+
+const char* desktop_entry_get_generic_name(DesktopEntry* entry)
+{
+ return entry->generic_name;
+}
+
+const char* desktop_entry_get_full_name(DesktopEntry* entry)
+{
+ return entry->full_name;
+}
+
+const char* desktop_entry_get_comment(DesktopEntry* entry)
+{
+ return entry->comment;
+}
+
+const char* desktop_entry_get_icon(DesktopEntry* entry)
+{
+ return entry->icon;
+}
+
+const char* desktop_entry_get_exec(DesktopEntry* entry)
+{
+ return entry->exec;
+}
+
+gboolean desktop_entry_get_launch_in_terminal(DesktopEntry* entry)
+{
+ return entry->terminal;
+}
+
+gboolean desktop_entry_get_hidden(DesktopEntry* entry)
+{
+ return (entry->flags & DESKTOP_ENTRY_HIDDEN) != 0;
+}
+
+gboolean desktop_entry_get_no_display(DesktopEntry* entry)
+{
+ return (entry->flags & DESKTOP_ENTRY_NO_DISPLAY) != 0;
+}
+
+gboolean desktop_entry_get_show_in_mate(DesktopEntry* entry)
+{
+ return (entry->flags & DESKTOP_ENTRY_SHOW_IN_MATE) != 0;
+}
+
+gboolean desktop_entry_get_tryexec_failed(DesktopEntry* entry)
+{
+ return (entry->flags & DESKTOP_ENTRY_TRYEXEC_FAILED) != 0;
+}
+
+gboolean desktop_entry_has_categories(DesktopEntry* entry)
+{
+ return (entry->categories != NULL && entry->categories[0] != 0);
+}
+
+gboolean desktop_entry_has_category(DesktopEntry* entry, const char* category)
+{
+ GQuark quark;
+ int i;
+
+ if (entry->categories == NULL)
+ return FALSE;
+
+ if (!(quark = g_quark_try_string (category)))
+ return FALSE;
+
+ for (i = 0; entry->categories[i]; i++)
+ {
+ if (quark == entry->categories[i])
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+void desktop_entry_add_legacy_category(DesktopEntry* entry)
+{
+ GQuark *categories;
+ int i;
+
+ menu_verbose ("Adding Legacy category to \"%s\"\n",
+ entry->basename);
+
+ i = 0;
+ if (entry->categories != NULL)
+ {
+ for (; entry->categories[i]; i++);
+ }
+
+ categories = g_new0 (GQuark, i + 2);
+
+ i = 0;
+ if (entry->categories != NULL)
+ {
+ for (; entry->categories[i]; i++)
+ categories[i] = entry->categories[i];
+ }
+
+ categories[i] = g_quark_from_string ("Legacy");
+
+ g_free (entry->categories);
+ entry->categories = categories;
+}
+
+/*
+ * Entry sets
+ */
+
+DesktopEntrySet* desktop_entry_set_new(void)
+{
+ DesktopEntrySet *set;
+
+ set = g_new0 (DesktopEntrySet, 1);
+ set->refcount = 1;
+
+ menu_verbose (" New entry set %p\n", set);
+
+ return set;
+}
+
+DesktopEntrySet* desktop_entry_set_ref(DesktopEntrySet* set)
+{
+ g_return_val_if_fail (set != NULL, NULL);
+ g_return_val_if_fail (set->refcount > 0, NULL);
+
+ set->refcount += 1;
+
+ return set;
+}
+
+void desktop_entry_set_unref(DesktopEntrySet* set)
+{
+ g_return_if_fail (set != NULL);
+ g_return_if_fail (set->refcount > 0);
+
+ set->refcount -= 1;
+ if (set->refcount == 0)
+ {
+ menu_verbose (" Deleting entry set %p\n", set);
+
+ if (set->hash)
+ g_hash_table_destroy (set->hash);
+ set->hash = NULL;
+
+ g_free (set);
+ }
+}
+
+void desktop_entry_set_add_entry(DesktopEntrySet* set, DesktopEntry* entry, const char* file_id)
+{
+ menu_verbose (" Adding to set %p entry %s\n", set, file_id);
+
+ if (set->hash == NULL)
+ {
+ set->hash = g_hash_table_new_full (g_str_hash,
+ g_str_equal,
+ g_free,
+ (GDestroyNotify) desktop_entry_unref);
+ }
+
+ g_hash_table_replace (set->hash,
+ g_strdup (file_id),
+ desktop_entry_ref (entry));
+}
+
+DesktopEntry* desktop_entry_set_lookup(DesktopEntrySet* set, const char* file_id)
+{
+ if (set->hash == NULL)
+ return NULL;
+
+ return g_hash_table_lookup (set->hash, file_id);
+}
+
+typedef struct {
+ DesktopEntrySetForeachFunc func;
+ gpointer user_data;
+} EntryHashForeachData;
+
+static void entry_hash_foreach(const char* file_id, DesktopEntry* entry, EntryHashForeachData* fd)
+{
+ fd->func(file_id, entry, fd->user_data);
+}
+
+void desktop_entry_set_foreach(DesktopEntrySet* set, DesktopEntrySetForeachFunc func, gpointer user_data)
+{
+ g_return_if_fail (set != NULL);
+ g_return_if_fail (func != NULL);
+
+ if (set->hash != NULL)
+ {
+ EntryHashForeachData fd;
+
+ fd.func = func;
+ fd.user_data = user_data;
+
+ g_hash_table_foreach (set->hash,
+ (GHFunc) entry_hash_foreach,
+ &fd);
+ }
+}
+
+static void desktop_entry_set_clear(DesktopEntrySet* set)
+{
+ menu_verbose (" Clearing set %p\n", set);
+
+ if (set->hash != NULL)
+ {
+ g_hash_table_destroy (set->hash);
+ set->hash = NULL;
+ }
+}
+
+int desktop_entry_set_get_count(DesktopEntrySet* set)
+{
+ if (set->hash == NULL)
+ return 0;
+
+ return g_hash_table_size (set->hash);
+}
+
+static void union_foreach(const char* file_id, DesktopEntry* entry, DesktopEntrySet* set)
+{
+ /* we are iterating over "with" adding anything not
+ * already in "set". We unconditionally overwrite
+ * the stuff in "set" because we can assume
+ * two entries with the same name are equivalent.
+ */
+ desktop_entry_set_add_entry(set, entry, file_id);
+}
+
+void desktop_entry_set_union(DesktopEntrySet* set, DesktopEntrySet* with)
+{
+ menu_verbose (" Union of %p and %p\n", set, with);
+
+ if (desktop_entry_set_get_count (with) == 0)
+ return; /* A fast simple case */
+
+ g_hash_table_foreach (with->hash,
+ (GHFunc) union_foreach,
+ set);
+}
+
+typedef struct {
+ DesktopEntrySet *set;
+ DesktopEntrySet *with;
+} IntersectData;
+
+static gboolean intersect_foreach_remove(const char* file_id, DesktopEntry* entry, IntersectData* id)
+{
+ /* Remove everything in "set" which is not in "with" */
+
+ if (g_hash_table_lookup (id->with->hash, file_id) != NULL)
+ return FALSE;
+
+ menu_verbose (" Removing from %p entry %s\n", id->set, file_id);
+
+ return TRUE; /* return TRUE to remove */
+}
+
+void desktop_entry_set_intersection(DesktopEntrySet* set, DesktopEntrySet* with)
+{
+ IntersectData id;
+
+ menu_verbose (" Intersection of %p and %p\n", set, with);
+
+ if (desktop_entry_set_get_count (set) == 0 ||
+ desktop_entry_set_get_count (with) == 0)
+ {
+ /* A fast simple case */
+ desktop_entry_set_clear (set);
+ return;
+ }
+
+ id.set = set;
+ id.with = with;
+
+ g_hash_table_foreach_remove (set->hash,
+ (GHRFunc) intersect_foreach_remove,
+ &id);
+}
+
+typedef struct {
+ DesktopEntrySet *set;
+ DesktopEntrySet *other;
+} SubtractData;
+
+static gboolean subtract_foreach_remove(const char* file_id, DesktopEntry* entry, SubtractData* sd)
+{
+ /* Remove everything in "set" which is not in "other" */
+
+ if (g_hash_table_lookup (sd->other->hash, file_id) == NULL)
+ return FALSE;
+
+ menu_verbose (" Removing from %p entry %s\n", sd->set, file_id);
+
+ return TRUE; /* return TRUE to remove */
+}
+
+void desktop_entry_set_subtract(DesktopEntrySet* set, DesktopEntrySet* other)
+{
+ SubtractData sd;
+
+ menu_verbose (" Subtract from %p set %p\n", set, other);
+
+ if (desktop_entry_set_get_count (set) == 0 ||
+ desktop_entry_set_get_count (other) == 0)
+ return; /* A fast simple case */
+
+ sd.set = set;
+ sd.other = other;
+
+ g_hash_table_foreach_remove (set->hash,
+ (GHRFunc) subtract_foreach_remove,
+ &sd);
+}
+
+void desktop_entry_set_swap_contents(DesktopEntrySet* a, DesktopEntrySet* b)
+{
+ GHashTable *tmp;
+
+ menu_verbose (" Swap contents of %p and %p\n", a, b);
+
+ tmp = a->hash;
+ a->hash = b->hash;
+ b->hash = tmp;
+}
diff --git a/libmenu/desktop-entries.h b/libmenu/desktop-entries.h
new file mode 100644
index 0000000..19d9abd
--- /dev/null
+++ b/libmenu/desktop-entries.h
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2002 - 2004 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __DESKTOP_ENTRIES_H__
+#define __DESKTOP_ENTRIES_H__
+
+#include <glib.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+ DESKTOP_ENTRY_INVALID = 0,
+ DESKTOP_ENTRY_DESKTOP,
+ DESKTOP_ENTRY_DIRECTORY
+} DesktopEntryType;
+
+typedef struct DesktopEntry DesktopEntry;
+
+DesktopEntry* desktop_entry_new(const char* path);
+
+DesktopEntry* desktop_entry_ref(DesktopEntry* entry);
+DesktopEntry* desktop_entry_copy(DesktopEntry* entry);
+DesktopEntry* desktop_entry_reload(DesktopEntry* entry);
+void desktop_entry_unref(DesktopEntry* entry);
+
+DesktopEntryType desktop_entry_get_type(DesktopEntry* entry);
+const char* desktop_entry_get_path(DesktopEntry* entry);
+const char* desktop_entry_get_basename(DesktopEntry* entry);
+
+const char* desktop_entry_get_name(DesktopEntry* entry);
+const char* desktop_entry_get_generic_name(DesktopEntry* entry);
+const char* desktop_entry_get_full_name(DesktopEntry* entry);
+const char* desktop_entry_get_comment(DesktopEntry* entry);
+const char* desktop_entry_get_icon(DesktopEntry* entry);
+const char* desktop_entry_get_exec(DesktopEntry* entry);
+gboolean desktop_entry_get_launch_in_terminal(DesktopEntry* entry);
+
+gboolean desktop_entry_get_hidden(DesktopEntry* entry);
+gboolean desktop_entry_get_no_display(DesktopEntry* entry);
+gboolean desktop_entry_get_show_in_mate(DesktopEntry* entry);
+gboolean desktop_entry_get_tryexec_failed(DesktopEntry* entry);
+
+gboolean desktop_entry_has_categories(DesktopEntry* entry);
+gboolean desktop_entry_has_category(DesktopEntry* entry, const char* category);
+
+void desktop_entry_add_legacy_category(DesktopEntry* src);
+
+
+typedef struct DesktopEntrySet DesktopEntrySet;
+
+DesktopEntrySet* desktop_entry_set_new(void);
+DesktopEntrySet* desktop_entry_set_ref(DesktopEntrySet* set);
+void desktop_entry_set_unref(DesktopEntrySet* set);
+
+void desktop_entry_set_add_entry(DesktopEntrySet* set, DesktopEntry* entry, const char* file_id);
+DesktopEntry* desktop_entry_set_lookup(DesktopEntrySet* set, const char* file_id);
+int desktop_entry_set_get_count(DesktopEntrySet* set);
+
+void desktop_entry_set_union(DesktopEntrySet* set, DesktopEntrySet* with);
+void desktop_entry_set_intersection(DesktopEntrySet* set, DesktopEntrySet* with);
+void desktop_entry_set_subtract(DesktopEntrySet* set, DesktopEntrySet* other);
+void desktop_entry_set_swap_contents(DesktopEntrySet* a, DesktopEntrySet* b);
+
+typedef void (*DesktopEntrySetForeachFunc) (const char* file_id, DesktopEntry* entry, gpointer user_data);
+
+void desktop_entry_set_foreach(DesktopEntrySet* set, DesktopEntrySetForeachFunc func, gpointer user_data);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __DESKTOP_ENTRIES_H__ */
diff --git a/libmenu/entry-directories.c b/libmenu/entry-directories.c
new file mode 100644
index 0000000..a442a65
--- /dev/null
+++ b/libmenu/entry-directories.c
@@ -0,0 +1,1105 @@
+/*
+ * Copyright (C) 2002 - 2004 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <config.h>
+
+#include "entry-directories.h"
+
+#include <string.h>
+#include <errno.h>
+#include <sys/types.h>
+#include <dirent.h>
+
+#include "menu-util.h"
+#include "menu-monitor.h"
+#include "canonicalize.h"
+
+typedef struct CachedDir CachedDir;
+typedef struct CachedDirMonitor CachedDirMonitor;
+
+struct EntryDirectory {
+ CachedDir* dir;
+ char* legacy_prefix;
+
+ guint entry_type: 2;
+ guint is_legacy: 1;
+ guint refcount: 24;
+};
+
+struct EntryDirectoryList {
+ int refcount;
+ int length;
+ GList* dirs;
+};
+
+struct CachedDir {
+ CachedDir* parent;
+ char* name;
+
+ GSList* entries;
+ GSList* subdirs;
+
+ MenuMonitor* dir_monitor;
+ GSList* monitors;
+
+ guint have_read_entries: 1;
+ guint deleted: 1;
+
+ guint references: 28;
+};
+
+struct CachedDirMonitor {
+ EntryDirectory* ed;
+ EntryDirectoryChangedFunc callback;
+ gpointer user_data;
+};
+
+static void cached_dir_free(CachedDir* dir);
+static gboolean cached_dir_load_entries_recursive(CachedDir* dir, const char* dirname);
+
+static void handle_cached_dir_changed(MenuMonitor* monitor, MenuMonitorEvent event, const char* path, CachedDir* dir);
+
+/*
+ * Entry directory cache
+ */
+
+static CachedDir* dir_cache = NULL;
+
+static CachedDir* cached_dir_new(const char *name)
+{
+ CachedDir* dir;
+
+ dir = g_new0(CachedDir, 1);
+
+ dir->name = g_strdup(name);
+
+ return dir;
+}
+
+static void cached_dir_free(CachedDir* dir)
+{
+ if (dir->dir_monitor)
+ {
+ menu_monitor_remove_notify (dir->dir_monitor,
+ (MenuMonitorNotifyFunc) handle_cached_dir_changed,
+ dir);
+ menu_monitor_unref (dir->dir_monitor);
+ dir->dir_monitor = NULL;
+ }
+
+ g_slist_foreach (dir->monitors, (GFunc) g_free, NULL);
+ g_slist_free (dir->monitors);
+ dir->monitors = NULL;
+
+ g_slist_foreach (dir->entries,
+ (GFunc) desktop_entry_unref,
+ NULL);
+ g_slist_free (dir->entries);
+ dir->entries = NULL;
+
+ g_slist_foreach (dir->subdirs,
+ (GFunc) cached_dir_free,
+ NULL);
+ g_slist_free (dir->subdirs);
+ dir->subdirs = NULL;
+
+ g_free (dir->name);
+ g_free (dir);
+}
+
+static inline CachedDir* find_subdir(CachedDir* dir, const char* subdir)
+{
+ GSList *tmp;
+
+ tmp = dir->subdirs;
+ while (tmp != NULL)
+ {
+ CachedDir *sub = tmp->data;
+
+ if (strcmp (sub->name, subdir) == 0)
+ return sub;
+
+ tmp = tmp->next;
+ }
+
+ return NULL;
+}
+
+static DesktopEntry* find_entry(CachedDir* dir, const char* basename)
+{
+ GSList *tmp;
+
+ tmp = dir->entries;
+ while (tmp != NULL)
+ {
+ if (strcmp (desktop_entry_get_basename (tmp->data), basename) == 0)
+ return tmp->data;
+
+ tmp = tmp->next;
+ }
+
+ return NULL;
+}
+
+static DesktopEntry* cached_dir_find_relative_path(CachedDir* dir, const char* relative_path)
+{
+ DesktopEntry *retval = NULL;
+ char **split;
+ int i;
+
+ split = g_strsplit (relative_path, "/", -1);
+
+ i = 0;
+ while (split[i] != NULL)
+ {
+ if (split[i + 1] != NULL)
+ {
+ if ((dir = find_subdir (dir, split[i])) == NULL)
+ break;
+ }
+ else
+ {
+ retval = find_entry (dir, split[i]);
+ break;
+ }
+
+ ++i;
+ }
+
+ g_strfreev (split);
+
+ return retval;
+}
+
+static CachedDir* cached_dir_lookup(const char* canonical)
+{
+ CachedDir *dir;
+ char **split;
+ int i;
+
+ if (dir_cache == NULL)
+ dir_cache = cached_dir_new ("/");
+ dir = dir_cache;
+
+ g_assert (canonical != NULL && canonical[0] == G_DIR_SEPARATOR);
+
+ menu_verbose ("Looking up cached dir \"%s\"\n", canonical);
+
+ split = g_strsplit (canonical + 1, "/", -1);
+
+ i = 0;
+ while (split[i] != NULL)
+ {
+ CachedDir *subdir;
+
+ if ((subdir = find_subdir (dir, split[i])) == NULL)
+ {
+ subdir = cached_dir_new (split[i]);
+ dir->subdirs = g_slist_prepend (dir->subdirs, subdir);
+ subdir->parent = dir;
+ }
+
+ dir = subdir;
+
+ ++i;
+ }
+
+ g_strfreev (split);
+
+ g_assert (dir != NULL);
+
+ return dir;
+}
+
+static gboolean cached_dir_add_entry(CachedDir* dir, const char* basename, const char* path)
+{
+ DesktopEntry *entry;
+
+ entry = desktop_entry_new (path);
+ if (entry == NULL)
+ return FALSE;
+
+ dir->entries = g_slist_prepend (dir->entries, entry);
+
+ return TRUE;
+}
+
+static gboolean cached_dir_update_entry(CachedDir* dir, const char* basename, const char* path)
+{
+ GSList *tmp;
+
+ tmp = dir->entries;
+ while (tmp != NULL)
+ {
+ if (strcmp (desktop_entry_get_basename (tmp->data), basename) == 0)
+ {
+ if (!desktop_entry_reload (tmp->data))
+ {
+ dir->entries = g_slist_delete_link (dir->entries, tmp);
+ }
+
+ return TRUE;
+ }
+
+ tmp = tmp->next;
+ }
+
+ return cached_dir_add_entry (dir, basename, path);
+}
+
+static gboolean cached_dir_remove_entry(CachedDir* dir, const char* basename)
+{
+ GSList *tmp;
+
+ tmp = dir->entries;
+ while (tmp != NULL)
+ {
+ if (strcmp (desktop_entry_get_basename (tmp->data), basename) == 0)
+ {
+ desktop_entry_unref (tmp->data);
+ dir->entries = g_slist_delete_link (dir->entries, tmp);
+ return TRUE;
+ }
+
+ tmp = tmp->next;
+ }
+
+ return FALSE;
+}
+
+static gboolean cached_dir_add_subdir(CachedDir* dir, const char* basename, const char* path)
+{
+ CachedDir *subdir;
+
+ subdir = find_subdir (dir, basename);
+
+ if (subdir != NULL)
+ {
+ subdir->deleted = FALSE;
+ return TRUE;
+ }
+
+ subdir = cached_dir_new (basename);
+
+ if (!cached_dir_load_entries_recursive (subdir, path))
+ {
+ cached_dir_free (subdir);
+ return FALSE;
+ }
+
+ menu_verbose ("Caching dir \"%s\"\n", basename);
+
+ subdir->parent = dir;
+ dir->subdirs = g_slist_prepend (dir->subdirs, subdir);
+
+ return TRUE;
+}
+
+static gboolean cached_dir_remove_subdir(CachedDir* dir, const char* basename)
+{
+ CachedDir *subdir;
+
+ subdir = find_subdir (dir, basename);
+
+ if (subdir != NULL)
+ {
+ subdir->deleted = TRUE;
+
+ if (subdir->references == 0)
+ {
+ cached_dir_free (subdir);
+ dir->subdirs = g_slist_remove (dir->subdirs, subdir);
+ }
+
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static void cached_dir_invoke_monitors(CachedDir* dir)
+{
+ GSList *tmp;
+
+ tmp = dir->monitors;
+ while (tmp != NULL)
+ {
+ CachedDirMonitor *monitor = tmp->data;
+ GSList *next = tmp->next;
+
+ monitor->callback (monitor->ed, monitor->user_data);
+
+ tmp = next;
+ }
+
+ if (dir->parent)
+ {
+ cached_dir_invoke_monitors (dir->parent);
+ }
+}
+
+static void handle_cached_dir_changed (MenuMonitor* monitor, MenuMonitorEvent event, const char* path, CachedDir* dir)
+{
+ gboolean handled = FALSE;
+ char *basename;
+ char *dirname;
+
+ menu_verbose ("'%s' notified of '%s' %s - invalidating cache\n",
+ dir->name,
+ path,
+ event == MENU_MONITOR_EVENT_CREATED ? ("created") :
+ event == MENU_MONITOR_EVENT_DELETED ? ("deleted") : ("changed"));
+
+ dirname = g_path_get_dirname (path);
+ basename = g_path_get_basename (path);
+
+ dir = cached_dir_lookup (dirname);
+
+ if (g_str_has_suffix (basename, ".desktop") ||
+ g_str_has_suffix (basename, ".directory"))
+ {
+ switch (event)
+ {
+ case MENU_MONITOR_EVENT_CREATED:
+ case MENU_MONITOR_EVENT_CHANGED:
+ handled = cached_dir_update_entry (dir, basename, path);
+ break;
+
+ case MENU_MONITOR_EVENT_DELETED:
+ handled = cached_dir_remove_entry (dir, basename);
+ break;
+
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+ }
+ else /* Try recursing */
+ {
+ switch (event)
+ {
+ case MENU_MONITOR_EVENT_CREATED:
+ handled = cached_dir_add_subdir (dir, basename, path);
+ break;
+
+ case MENU_MONITOR_EVENT_CHANGED:
+ break;
+
+ case MENU_MONITOR_EVENT_DELETED:
+ handled = cached_dir_remove_subdir (dir, basename);
+ break;
+
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+ }
+
+ g_free (basename);
+ g_free (dirname);
+
+ if (handled)
+ {
+ /* CHANGED events don't change the set of desktop entries */
+ if (event == MENU_MONITOR_EVENT_CREATED || event == MENU_MONITOR_EVENT_DELETED)
+ {
+ _entry_directory_list_empty_desktop_cache ();
+ }
+
+ cached_dir_invoke_monitors (dir);
+ }
+}
+
+static void cached_dir_ensure_monitor(CachedDir* dir, const char* dirname)
+{
+ if (dir->dir_monitor == NULL)
+ {
+ dir->dir_monitor = menu_get_directory_monitor (dirname);
+ menu_monitor_add_notify (dir->dir_monitor,
+ (MenuMonitorNotifyFunc) handle_cached_dir_changed,
+ dir);
+ }
+}
+
+static gboolean cached_dir_load_entries_recursive(CachedDir* dir, const char* dirname)
+{
+ DIR *dp;
+ struct dirent *dent;
+ GString *fullpath;
+ gsize fullpath_len;
+
+ g_assert (dir != NULL);
+
+ if (dir->have_read_entries)
+ return TRUE;
+
+ menu_verbose ("Attempting to read entries from %s (full path %s)\n",
+ dir->name, dirname);
+
+ dp = opendir (dirname);
+ if (dp == NULL)
+ {
+ menu_verbose ("Unable to list directory \"%s\"\n",
+ dirname);
+ return FALSE;
+ }
+
+ cached_dir_ensure_monitor (dir, dirname);
+
+ fullpath = g_string_new (dirname);
+ if (fullpath->str[fullpath->len - 1] != G_DIR_SEPARATOR)
+ g_string_append_c (fullpath, G_DIR_SEPARATOR);
+
+ fullpath_len = fullpath->len;
+
+ while ((dent = readdir (dp)) != NULL)
+ {
+ /* ignore . and .. */
+ if (dent->d_name[0] == '.' &&
+ (dent->d_name[1] == '\0' ||
+ (dent->d_name[1] == '.' &&
+ dent->d_name[2] == '\0')))
+ continue;
+
+ g_string_append (fullpath, dent->d_name);
+
+ if (g_str_has_suffix (dent->d_name, ".desktop") ||
+ g_str_has_suffix (dent->d_name, ".directory"))
+ {
+ cached_dir_add_entry (dir, dent->d_name, fullpath->str);
+ }
+ else /* Try recursing */
+ {
+ cached_dir_add_subdir (dir, dent->d_name, fullpath->str);
+ }
+
+ g_string_truncate (fullpath, fullpath_len);
+ }
+
+ closedir (dp);
+
+ g_string_free (fullpath, TRUE);
+
+ dir->have_read_entries = TRUE;
+
+ return TRUE;
+}
+
+static void cached_dir_add_monitor(CachedDir* dir, EntryDirectory* ed, EntryDirectoryChangedFunc callback, gpointer user_data)
+{
+ CachedDirMonitor *monitor;
+ GSList *tmp;
+
+ tmp = dir->monitors;
+ while (tmp != NULL)
+ {
+ monitor = tmp->data;
+
+ if (monitor->ed == ed &&
+ monitor->callback == callback &&
+ monitor->user_data == user_data)
+ break;
+
+ tmp = tmp->next;
+ }
+
+ if (tmp == NULL)
+ {
+ monitor = g_new0 (CachedDirMonitor, 1);
+ monitor->ed = ed;
+ monitor->callback = callback;
+ monitor->user_data = user_data;
+
+ dir->monitors = g_slist_append (dir->monitors, monitor);
+ }
+}
+
+static void cached_dir_remove_monitor(CachedDir* dir, EntryDirectory* ed, EntryDirectoryChangedFunc callback, gpointer user_data)
+{
+ GSList *tmp;
+
+ tmp = dir->monitors;
+ while (tmp != NULL)
+ {
+ CachedDirMonitor *monitor = tmp->data;
+ GSList *next = tmp->next;
+
+ if (monitor->ed == ed &&
+ monitor->callback == callback &&
+ monitor->user_data == user_data)
+ {
+ dir->monitors = g_slist_delete_link (dir->monitors, tmp);
+ g_free (monitor);
+ }
+
+ tmp = next;
+ }
+}
+
+static void cached_dir_add_reference(CachedDir* dir)
+{
+ dir->references++;
+
+ if (dir->parent != NULL)
+ {
+ cached_dir_add_reference (dir->parent);
+ }
+}
+
+static void cached_dir_remove_reference(CachedDir* dir)
+{
+ CachedDir *parent;
+
+ parent = dir->parent;
+
+ if (--dir->references == 0 && dir->deleted)
+ {
+ if (dir->parent != NULL)
+ {
+ GSList *tmp;
+
+ tmp = parent->subdirs;
+ while (tmp != NULL)
+ {
+ CachedDir *subdir = tmp->data;
+
+ if (!strcmp (subdir->name, dir->name))
+ {
+ parent->subdirs = g_slist_delete_link (parent->subdirs, tmp);
+ break;
+ }
+
+ tmp = tmp->next;
+ }
+ }
+
+ cached_dir_free (dir);
+ }
+
+ if (parent != NULL)
+ {
+ cached_dir_remove_reference (parent);
+ }
+}
+
+/*
+ * Entry directories
+ */
+
+static EntryDirectory* entry_directory_new_full(DesktopEntryType entry_type, const char* path, gboolean is_legacy, const char* legacy_prefix)
+{
+ EntryDirectory *ed;
+ char *canonical;
+
+ menu_verbose ("Loading entry directory \"%s\" (legacy %s)\n",
+ path,
+ is_legacy ? "<yes>" : "<no>");
+
+ canonical = menu_canonicalize_file_name (path, FALSE);
+ if (canonical == NULL)
+ {
+ menu_verbose ("Failed to canonicalize \"%s\": %s\n",
+ path, g_strerror (errno));
+ return NULL;
+ }
+
+ ed = g_new0 (EntryDirectory, 1);
+
+ ed->dir = cached_dir_lookup (canonical);
+ g_assert (ed->dir != NULL);
+
+ cached_dir_add_reference (ed->dir);
+ cached_dir_load_entries_recursive (ed->dir, canonical);
+
+ ed->legacy_prefix = g_strdup (legacy_prefix);
+ ed->entry_type = entry_type;
+ ed->is_legacy = is_legacy != FALSE;
+ ed->refcount = 1;
+
+ g_free (canonical);
+
+ return ed;
+}
+
+EntryDirectory* entry_directory_new(DesktopEntryType entry_type, const char* path)
+{
+ return entry_directory_new_full (entry_type, path, FALSE, NULL);
+}
+
+EntryDirectory* entry_directory_new_legacy(DesktopEntryType entry_type, const char* path, const char* legacy_prefix)
+{
+ return entry_directory_new_full(entry_type, path, TRUE, legacy_prefix);
+}
+
+EntryDirectory* entry_directory_ref(EntryDirectory* ed)
+{
+ g_return_val_if_fail(ed != NULL, NULL);
+ g_return_val_if_fail(ed->refcount > 0, NULL);
+
+ ed->refcount++;
+
+ return ed;
+}
+
+void entry_directory_unref(EntryDirectory* ed)
+{
+ g_return_if_fail (ed != NULL);
+ g_return_if_fail (ed->refcount > 0);
+
+ if (--ed->refcount == 0)
+ {
+ cached_dir_remove_reference (ed->dir);
+
+ ed->dir = NULL;
+ ed->entry_type = DESKTOP_ENTRY_INVALID;
+ ed->is_legacy = FALSE;
+
+ g_free (ed->legacy_prefix);
+ ed->legacy_prefix = NULL;
+
+ g_free (ed);
+ }
+}
+
+static void entry_directory_add_monitor(EntryDirectory* ed, EntryDirectoryChangedFunc callback, gpointer user_data)
+{
+ cached_dir_add_monitor (ed->dir, ed, callback, user_data);
+}
+
+static void entry_directory_remove_monitor(EntryDirectory* ed, EntryDirectoryChangedFunc callback, gpointer user_data)
+{
+ cached_dir_remove_monitor (ed->dir, ed, callback, user_data);
+}
+
+static DesktopEntry* entry_directory_get_directory(EntryDirectory* ed, const char* relative_path)
+{
+ DesktopEntry *entry;
+
+ if (ed->entry_type != DESKTOP_ENTRY_DIRECTORY)
+ return NULL;
+
+ entry = cached_dir_find_relative_path (ed->dir, relative_path);
+ if (entry == NULL || desktop_entry_get_type (entry) != DESKTOP_ENTRY_DIRECTORY)
+ return NULL;
+
+ return desktop_entry_ref (entry);
+}
+
+static char* get_desktop_file_id_from_path(EntryDirectory* ed, DesktopEntryType entry_type, const char* relative_path)
+{
+ char *retval;
+
+ retval = NULL;
+
+ if (entry_type == DESKTOP_ENTRY_DESKTOP)
+ {
+ if (!ed->is_legacy)
+ {
+ retval = g_strdelimit (g_strdup (relative_path), "/", '-');
+ }
+ else
+ {
+ char *basename;
+
+ basename = g_path_get_basename (relative_path);
+
+ if (ed->legacy_prefix)
+ {
+ retval = g_strjoin ("-", ed->legacy_prefix, basename, NULL);
+ g_free (basename);
+ }
+ else
+ {
+ retval = basename;
+ }
+ }
+ }
+ else
+ {
+ retval = g_strdup (relative_path);
+ }
+
+ return retval;
+}
+
+typedef gboolean (*EntryDirectoryForeachFunc) (EntryDirectory* ed, DesktopEntry* entry, const char* file_id, DesktopEntrySet* set, gpointer user_data);
+
+static gboolean entry_directory_foreach_recursive(EntryDirectory* ed, CachedDir* cd, GString* relative_path, EntryDirectoryForeachFunc func, DesktopEntrySet* set, gpointer user_data)
+{
+ GSList *tmp;
+ int relative_path_len;
+
+ if (cd->deleted)
+ return TRUE;
+
+ relative_path_len = relative_path->len;
+
+ tmp = cd->entries;
+ while (tmp != NULL)
+ {
+ DesktopEntry *entry = tmp->data;
+
+ if (desktop_entry_get_type (entry) == ed->entry_type)
+ {
+ gboolean ret;
+ char *file_id;
+
+ g_string_append (relative_path,
+ desktop_entry_get_basename (entry));
+
+ file_id = get_desktop_file_id_from_path (ed,
+ ed->entry_type,
+ relative_path->str);
+
+ ret = func (ed, entry, file_id, set, user_data);
+
+ g_free (file_id);
+
+ g_string_truncate (relative_path, relative_path_len);
+
+ if (!ret)
+ return FALSE;
+ }
+
+ tmp = tmp->next;
+ }
+
+ tmp = cd->subdirs;
+ while (tmp != NULL)
+ {
+ CachedDir *subdir = tmp->data;
+
+ g_string_append (relative_path, subdir->name);
+ g_string_append_c (relative_path, G_DIR_SEPARATOR);
+
+ if (!entry_directory_foreach_recursive (ed,
+ subdir,
+ relative_path,
+ func,
+ set,
+ user_data))
+ return FALSE;
+
+ g_string_truncate (relative_path, relative_path_len);
+
+ tmp = tmp->next;
+ }
+
+ return TRUE;
+}
+
+static void entry_directory_foreach(EntryDirectory* ed, EntryDirectoryForeachFunc func, DesktopEntrySet* set, gpointer user_data)
+{
+ GString *path;
+
+ path = g_string_new (NULL);
+
+ entry_directory_foreach_recursive (ed,
+ ed->dir,
+ path,
+ func,
+ set,
+ user_data);
+
+ g_string_free (path, TRUE);
+}
+
+void entry_directory_get_flat_contents(EntryDirectory* ed, DesktopEntrySet* desktop_entries, DesktopEntrySet* directory_entries, GSList** subdirs)
+{
+ GSList *tmp;
+
+ if (subdirs)
+ *subdirs = NULL;
+
+ tmp = ed->dir->entries;
+ while (tmp != NULL)
+ {
+ DesktopEntry *entry = tmp->data;
+ const char *basename;
+
+ basename = desktop_entry_get_basename (entry);
+
+ if (desktop_entries &&
+ desktop_entry_get_type (entry) == DESKTOP_ENTRY_DESKTOP)
+ {
+ char *file_id;
+
+ file_id = get_desktop_file_id_from_path (ed,
+ DESKTOP_ENTRY_DESKTOP,
+ basename);
+
+ desktop_entry_set_add_entry (desktop_entries,
+ entry,
+ file_id);
+
+ g_free (file_id);
+ }
+
+ if (directory_entries &&
+ desktop_entry_get_type (entry) == DESKTOP_ENTRY_DIRECTORY)
+ {
+ desktop_entry_set_add_entry (directory_entries,
+ entry,
+ basename);
+ }
+
+ tmp = tmp->next;
+ }
+
+ if (subdirs)
+ {
+ tmp = ed->dir->subdirs;
+ while (tmp != NULL)
+ {
+ CachedDir *cd = tmp->data;
+
+ if (!cd->deleted)
+ {
+ *subdirs = g_slist_prepend (*subdirs, g_strdup (cd->name));
+ }
+
+ tmp = tmp->next;
+ }
+ }
+
+ if (subdirs)
+ *subdirs = g_slist_reverse (*subdirs);
+}
+
+/*
+ * Entry directory lists
+ */
+
+EntryDirectoryList* entry_directory_list_new(void)
+{
+ EntryDirectoryList *list;
+
+ list = g_new0 (EntryDirectoryList, 1);
+
+ list->refcount = 1;
+ list->dirs = NULL;
+ list->length = 0;
+
+ return list;
+}
+
+EntryDirectoryList* entry_directory_list_ref(EntryDirectoryList* list)
+{
+ g_return_val_if_fail (list != NULL, NULL);
+ g_return_val_if_fail (list->refcount > 0, NULL);
+
+ list->refcount += 1;
+
+ return list;
+}
+
+void entry_directory_list_unref(EntryDirectoryList* list)
+{
+ g_return_if_fail (list != NULL);
+ g_return_if_fail (list->refcount > 0);
+
+ list->refcount -= 1;
+ if (list->refcount == 0)
+ {
+ g_list_foreach (list->dirs, (GFunc) entry_directory_unref, NULL);
+ g_list_free (list->dirs);
+ list->dirs = NULL;
+ list->length = 0;
+ g_free (list);
+ }
+}
+
+void entry_directory_list_prepend(EntryDirectoryList* list, EntryDirectory* ed)
+{
+ list->length += 1;
+ list->dirs = g_list_prepend (list->dirs,
+ entry_directory_ref (ed));
+}
+
+int entry_directory_list_get_length(EntryDirectoryList* list)
+{
+ return list->length;
+}
+
+void entry_directory_list_append_list(EntryDirectoryList* list, EntryDirectoryList* to_append)
+{
+ GList *tmp;
+ GList *new_dirs = NULL;
+
+ if (to_append->length == 0)
+ return;
+
+ tmp = to_append->dirs;
+ while (tmp != NULL)
+ {
+ list->length += 1;
+ new_dirs = g_list_prepend (new_dirs,
+ entry_directory_ref (tmp->data));
+
+ tmp = tmp->next;
+ }
+
+ new_dirs = g_list_reverse (new_dirs);
+ list->dirs = g_list_concat (list->dirs, new_dirs);
+}
+
+DesktopEntry* entry_directory_list_get_directory(EntryDirectoryList *list, const char* relative_path)
+{
+ DesktopEntry *retval = NULL;
+ GList *tmp;
+
+ tmp = list->dirs;
+ while (tmp != NULL)
+ {
+ if ((retval = entry_directory_get_directory (tmp->data, relative_path)) != NULL)
+ break;
+
+ tmp = tmp->next;
+ }
+
+ return retval;
+}
+
+gboolean _entry_directory_list_compare(const EntryDirectoryList* a, const EntryDirectoryList* b)
+{
+ GList *al, *bl;
+
+ if (a == NULL && b == NULL)
+ return TRUE;
+
+ if ((a == NULL || b == NULL))
+ return FALSE;
+
+ if (a->length != b->length)
+ return FALSE;
+
+ al = a->dirs; bl = b->dirs;
+ while (al && bl && al->data == bl->data)
+ {
+ al = al->next;
+ bl = bl->next;
+ }
+
+ return (al == NULL && bl == NULL);
+}
+
+static gboolean get_all_func(EntryDirectory* ed, DesktopEntry* entry, const char* file_id, DesktopEntrySet* set, gpointer user_data)
+{
+ if (ed->is_legacy && !desktop_entry_has_categories (entry))
+ {
+ entry = desktop_entry_copy (entry);
+ desktop_entry_add_legacy_category (entry);
+ }
+ else
+ {
+ entry = desktop_entry_ref (entry);
+ }
+
+ desktop_entry_set_add_entry (set, entry, file_id);
+ desktop_entry_unref (entry);
+
+ return TRUE;
+}
+
+static DesktopEntrySet* entry_directory_last_set = NULL;
+static EntryDirectoryList* entry_directory_last_list = NULL;
+
+void _entry_directory_list_empty_desktop_cache(void)
+{
+ if (entry_directory_last_set != NULL)
+ desktop_entry_set_unref (entry_directory_last_set);
+ entry_directory_last_set = NULL;
+
+ if (entry_directory_last_list != NULL)
+ entry_directory_list_unref (entry_directory_last_list);
+ entry_directory_last_list = NULL;
+}
+
+DesktopEntrySet* _entry_directory_list_get_all_desktops(EntryDirectoryList* list)
+{
+ GList *tmp;
+ DesktopEntrySet *set;
+
+ /* The only tricky thing here is that desktop files later
+ * in the search list with the same relative path
+ * are "hidden" by desktop files earlier in the path,
+ * so we have to do the earlier files first causing
+ * the later files to replace the earlier files
+ * in the DesktopEntrySet
+ *
+ * We go from the end of the list so we can just
+ * g_hash_table_replace and not have to do two
+ * hash lookups (check for existing entry, then insert new
+ * entry)
+ */
+
+ /* This method is -extremely- slow, so we have a simple
+ one-entry cache here */
+ if (_entry_directory_list_compare (list, entry_directory_last_list))
+ {
+ menu_verbose (" Hit desktop list (%p) cache\n", list);
+ return desktop_entry_set_ref (entry_directory_last_set);
+ }
+
+ if (entry_directory_last_set != NULL)
+ desktop_entry_set_unref (entry_directory_last_set);
+ if (entry_directory_last_list != NULL)
+ entry_directory_list_unref (entry_directory_last_list);
+
+ set = desktop_entry_set_new ();
+ menu_verbose (" Storing all of list %p in set %p\n",
+ list, set);
+
+ tmp = g_list_last (list->dirs);
+ while (tmp != NULL)
+ {
+ entry_directory_foreach (tmp->data, get_all_func, set, NULL);
+
+ tmp = tmp->prev;
+ }
+
+ entry_directory_last_list = entry_directory_list_ref (list);
+ entry_directory_last_set = desktop_entry_set_ref (set);
+
+ return set;
+}
+
+void entry_directory_list_add_monitors(EntryDirectoryList* list, EntryDirectoryChangedFunc callback, gpointer user_data)
+{
+ GList *tmp;
+
+ tmp = list->dirs;
+ while (tmp != NULL)
+ {
+ entry_directory_add_monitor (tmp->data, callback, user_data);
+ tmp = tmp->next;
+ }
+}
+
+void entry_directory_list_remove_monitors(EntryDirectoryList* list, EntryDirectoryChangedFunc callback, gpointer user_data)
+{
+ GList *tmp;
+
+ tmp = list->dirs;
+ while (tmp != NULL)
+ {
+ entry_directory_remove_monitor (tmp->data, callback, user_data);
+ tmp = tmp->next;
+ }
+}
diff --git a/libmenu/entry-directories.h b/libmenu/entry-directories.h
new file mode 100644
index 0000000..3cc4d9b
--- /dev/null
+++ b/libmenu/entry-directories.h
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2002 - 2004 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __ENTRY_DIRECTORIES_H__
+#define __ENTRY_DIRECTORIES_H__
+
+#include <glib.h>
+#include "desktop-entries.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct EntryDirectory EntryDirectory;
+
+typedef void (*EntryDirectoryChangedFunc) (EntryDirectory* ed, gpointer user_data);
+
+EntryDirectory* entry_directory_new(DesktopEntryType entry_type, const char* path);
+EntryDirectory* entry_directory_new_legacy(DesktopEntryType entry_type, const char* path, const char* legacy_prefix);
+
+EntryDirectory* entry_directory_ref(EntryDirectory* ed);
+void entry_directory_unref(EntryDirectory* ed);
+
+void entry_directory_get_flat_contents(EntryDirectory* ed, DesktopEntrySet* desktop_entries, DesktopEntrySet* directory_entries, GSList** subdirs);
+
+
+typedef struct EntryDirectoryList EntryDirectoryList;
+
+EntryDirectoryList* entry_directory_list_new(void);
+EntryDirectoryList* entry_directory_list_ref(EntryDirectoryList* list);
+void entry_directory_list_unref(EntryDirectoryList* list);
+
+int entry_directory_list_get_length(EntryDirectoryList* list);
+gboolean _entry_directory_list_compare(const EntryDirectoryList* a, const EntryDirectoryList* b);
+
+void entry_directory_list_prepend(EntryDirectoryList* list, EntryDirectory* ed);
+void entry_directory_list_append_list(EntryDirectoryList* list, EntryDirectoryList* to_append);
+
+void entry_directory_list_add_monitors(EntryDirectoryList* list, EntryDirectoryChangedFunc callback, gpointer user_data);
+void entry_directory_list_remove_monitors(EntryDirectoryList* list, EntryDirectoryChangedFunc callback, gpointer user_data);
+
+DesktopEntry* entry_directory_list_get_directory (EntryDirectoryList* list, const char* relative_path);
+
+DesktopEntrySet* _entry_directory_list_get_all_desktops(EntryDirectoryList* list);
+void _entry_directory_list_empty_desktop_cache(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __ENTRY_DIRECTORIES_H__ */
diff --git a/libmenu/libmate-menu-uninstalled.pc.in b/libmenu/libmate-menu-uninstalled.pc.in
new file mode 100644
index 0000000..e0b0496
--- /dev/null
+++ b/libmenu/libmate-menu-uninstalled.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: libmate-menu
+Description: Desktop Menu Specification Implementation
+Requires: glib-2.0
+Version: @VERSION@
+Libs: ${pc_top_builddir}/${pcfiledir}/libmate-menu.la
+Cflags: -I${pc_top_builddir}/${pcfiledir}
diff --git a/libmenu/libmate-menu.pc.in b/libmenu/libmate-menu.pc.in
new file mode 100644
index 0000000..ab593d2
--- /dev/null
+++ b/libmenu/libmate-menu.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: libmate-menu
+Description: Desktop Menu Specification Implementation
+Requires: glib-2.0
+Version: @VERSION@
+Libs: -L${libdir} -lmate-menu
+Cflags: -I${includedir}/mate-menus
diff --git a/libmenu/matemenu-tree.c b/libmenu/matemenu-tree.c
new file mode 100644
index 0000000..683eb55
--- /dev/null
+++ b/libmenu/matemenu-tree.c
@@ -0,0 +1,4520 @@
+/*
+ * Copyright (C) 2003, 2004 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <config.h>
+
+#include "matemenu-tree.h"
+
+#include <string.h>
+#include <errno.h>
+
+#include "menu-layout.h"
+#include "menu-monitor.h"
+#include "menu-util.h"
+#include "canonicalize.h"
+
+/*
+ * FIXME: it might be useful to be able to construct a menu
+ * tree from a traditional directory based menu hierarchy
+ * too.
+ */
+
+typedef enum
+{
+ MATEMENU_TREE_ABSOLUTE = 0,
+ MATEMENU_TREE_BASENAME = 1
+} MateMenuTreeType;
+
+struct MateMenuTree
+{
+ MateMenuTreeType type;
+ guint refcount;
+
+ char *basename;
+ char *absolute_path;
+ char *canonical_path;
+
+ MateMenuTreeFlags flags;
+ MateMenuTreeSortKey sort_key;
+
+ GSList *menu_file_monitors;
+
+ MenuLayoutNode *layout;
+ MateMenuTreeDirectory *root;
+
+ GSList *monitors;
+
+ gpointer user_data;
+ GDestroyNotify dnotify;
+
+ guint canonical : 1;
+};
+
+typedef struct
+{
+ MateMenuTreeChangedFunc callback;
+ gpointer user_data;
+} MateMenuTreeMonitor;
+
+struct MateMenuTreeItem
+{
+ MateMenuTreeItemType type;
+
+ MateMenuTreeDirectory *parent;
+
+ gpointer user_data;
+ GDestroyNotify dnotify;
+
+ guint refcount;
+};
+
+struct MateMenuTreeDirectory
+{
+ MateMenuTreeItem item;
+
+ DesktopEntry *directory_entry;
+ char *name;
+
+ GSList *entries;
+ GSList *subdirs;
+
+ MenuLayoutValues default_layout_values;
+ GSList *default_layout_info;
+ GSList *layout_info;
+ GSList *contents;
+
+ guint only_unallocated : 1;
+ guint is_root : 1;
+ guint is_nodisplay : 1;
+ guint layout_pending_separator : 1;
+ guint preprocessed : 1;
+
+ /* 16 bits should be more than enough; G_MAXUINT16 means no inline header */
+ guint will_inline_header : 16;
+};
+
+typedef struct
+{
+ MateMenuTreeDirectory directory;
+
+ MateMenuTree *tree;
+} MateMenuTreeDirectoryRoot;
+
+struct MateMenuTreeEntry
+{
+ MateMenuTreeItem item;
+
+ DesktopEntry *desktop_entry;
+ char *desktop_file_id;
+
+ guint is_excluded : 1;
+ guint is_nodisplay : 1;
+};
+
+struct MateMenuTreeSeparator
+{
+ MateMenuTreeItem item;
+};
+
+struct MateMenuTreeHeader
+{
+ MateMenuTreeItem item;
+
+ MateMenuTreeDirectory *directory;
+};
+
+struct MateMenuTreeAlias
+{
+ MateMenuTreeItem item;
+
+ MateMenuTreeDirectory *directory;
+ MateMenuTreeItem *aliased_item;
+};
+
+static MateMenuTree *matemenu_tree_new (MateMenuTreeType type,
+ const char *menu_file,
+ gboolean canonical,
+ MateMenuTreeFlags flags);
+static void matemenu_tree_load_layout (MateMenuTree *tree);
+static void matemenu_tree_force_reload (MateMenuTree *tree);
+static void matemenu_tree_build_from_layout (MateMenuTree *tree);
+static void matemenu_tree_force_rebuild (MateMenuTree *tree);
+static void matemenu_tree_resolve_files (MateMenuTree *tree,
+ GHashTable *loaded_menu_files,
+ MenuLayoutNode *layout);
+static void matemenu_tree_force_recanonicalize (MateMenuTree *tree);
+static void matemenu_tree_invoke_monitors (MateMenuTree *tree);
+
+static void matemenu_tree_item_unref_and_unset_parent (gpointer itemp);
+
+/*
+ * The idea is that we cache the menu tree for either a given
+ * menu basename or an absolute menu path.
+ * If no files exist in $XDG_DATA_DIRS for the basename or the
+ * absolute path doesn't exist we just return (and cache) the
+ * empty menu tree.
+ * We also add a file monitor for the basename in each dir in
+ * $XDG_DATA_DIRS, or the absolute path to the menu file, and
+ * re-compute if there are any changes.
+ */
+
+static GHashTable *matemenu_tree_cache = NULL;
+
+static inline char *
+get_cache_key (MateMenuTree *tree,
+ MateMenuTreeFlags flags)
+{
+ const char *tree_name;
+
+ switch (tree->type)
+ {
+ case MATEMENU_TREE_ABSOLUTE:
+ tree_name = tree->canonical ? tree->canonical_path : tree->absolute_path;
+ break;
+
+ case MATEMENU_TREE_BASENAME:
+ tree_name = tree->basename;
+ break;
+
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+
+ return g_strdup_printf ("%s:0x%x", tree_name, flags);
+}
+
+static void
+matemenu_tree_add_to_cache (MateMenuTree *tree,
+ MateMenuTreeFlags flags)
+{
+ char *cache_key;
+
+ if (matemenu_tree_cache == NULL)
+ {
+ matemenu_tree_cache =
+ g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
+ }
+
+ cache_key = get_cache_key (tree, flags);
+
+ menu_verbose ("Adding menu tree to cache: %s\n", cache_key);
+
+ g_hash_table_replace (matemenu_tree_cache, cache_key, tree);
+}
+
+static void
+matemenu_tree_remove_from_cache (MateMenuTree *tree,
+ MateMenuTreeFlags flags)
+{
+ char *cache_key;
+
+ cache_key = get_cache_key (tree, flags);
+
+ menu_verbose ("Removing menu tree from cache: %s\n", cache_key);
+
+ g_hash_table_remove (matemenu_tree_cache, cache_key);
+
+ g_free (cache_key);
+
+ if (g_hash_table_size (matemenu_tree_cache) == 0)
+ {
+ g_hash_table_destroy (matemenu_tree_cache);
+ matemenu_tree_cache = NULL;
+
+ _entry_directory_list_empty_desktop_cache ();
+ }
+}
+
+static MateMenuTree *
+matemenu_tree_lookup_from_cache (const char *tree_name,
+ MateMenuTreeFlags flags)
+{
+ MateMenuTree *retval;
+ char *cache_key;
+
+ if (matemenu_tree_cache == NULL)
+ return NULL;
+
+ cache_key = g_strdup_printf ("%s:0x%x", tree_name, flags);
+
+ menu_verbose ("Looking up '%s' from menu cache\n", cache_key);
+
+ retval = g_hash_table_lookup (matemenu_tree_cache, cache_key);
+
+ g_free (cache_key);
+
+ return retval ? matemenu_tree_ref (retval) : NULL;
+}
+
+typedef enum
+{
+ MENU_FILE_MONITOR_INVALID = 0,
+ MENU_FILE_MONITOR_FILE,
+ MENU_FILE_MONITOR_NONEXISTENT_FILE,
+ MENU_FILE_MONITOR_DIRECTORY
+} MenuFileMonitorType;
+
+typedef struct
+{
+ MenuFileMonitorType type;
+ MenuMonitor *monitor;
+} MenuFileMonitor;
+
+static void
+handle_nonexistent_menu_file_changed (MenuMonitor *monitor,
+ MenuMonitorEvent event,
+ const char *path,
+ MateMenuTree *tree)
+{
+ if (event == MENU_MONITOR_EVENT_CHANGED ||
+ event == MENU_MONITOR_EVENT_CREATED)
+ {
+ menu_verbose ("\"%s\" %s, marking tree for recanonicalization\n",
+ path,
+ event == MENU_MONITOR_EVENT_CREATED ? "created" : "changed");
+
+ matemenu_tree_force_recanonicalize (tree);
+ matemenu_tree_invoke_monitors (tree);
+ }
+}
+
+static void
+handle_menu_file_changed (MenuMonitor *monitor,
+ MenuMonitorEvent event,
+ const char *path,
+ MateMenuTree *tree)
+{
+ menu_verbose ("\"%s\" %s, marking tree for recanicalization\n",
+ path,
+ event == MENU_MONITOR_EVENT_CREATED ? "created" :
+ event == MENU_MONITOR_EVENT_CHANGED ? "changed" : "deleted");
+
+ matemenu_tree_force_recanonicalize (tree);
+ matemenu_tree_invoke_monitors (tree);
+}
+
+static void
+handle_menu_file_directory_changed (MenuMonitor *monitor,
+ MenuMonitorEvent event,
+ const char *path,
+ MateMenuTree *tree)
+{
+ if (!g_str_has_suffix (path, ".menu"))
+ return;
+
+ menu_verbose ("\"%s\" %s, marking tree for recanicalization\n",
+ path,
+ event == MENU_MONITOR_EVENT_CREATED ? "created" :
+ event == MENU_MONITOR_EVENT_CHANGED ? "changed" : "deleted");
+
+ matemenu_tree_force_recanonicalize (tree);
+ matemenu_tree_invoke_monitors (tree);
+}
+
+static void
+matemenu_tree_add_menu_file_monitor (MateMenuTree *tree,
+ const char *path,
+ MenuFileMonitorType type)
+{
+ MenuFileMonitor *monitor;
+
+ monitor = g_new0 (MenuFileMonitor, 1);
+
+ monitor->type = type;
+
+ switch (type)
+ {
+ case MENU_FILE_MONITOR_FILE:
+ menu_verbose ("Adding a menu file monitor for \"%s\"\n", path);
+
+ monitor->monitor = menu_get_file_monitor (path);
+ menu_monitor_add_notify (monitor->monitor,
+ (MenuMonitorNotifyFunc) handle_menu_file_changed,
+ tree);
+ break;
+
+ case MENU_FILE_MONITOR_NONEXISTENT_FILE:
+ menu_verbose ("Adding a menu file monitor for non-existent \"%s\"\n", path);
+
+ monitor->monitor = menu_get_file_monitor (path);
+ menu_monitor_add_notify (monitor->monitor,
+ (MenuMonitorNotifyFunc) handle_nonexistent_menu_file_changed,
+ tree);
+ break;
+
+ case MENU_FILE_MONITOR_DIRECTORY:
+ menu_verbose ("Adding a menu directory monitor for \"%s\"\n", path);
+
+ monitor->monitor = menu_get_directory_monitor (path);
+ menu_monitor_add_notify (monitor->monitor,
+ (MenuMonitorNotifyFunc) handle_menu_file_directory_changed,
+ tree);
+ break;
+
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+
+ tree->menu_file_monitors = g_slist_prepend (tree->menu_file_monitors, monitor);
+}
+
+static void
+remove_menu_file_monitor (MenuFileMonitor *monitor,
+ MateMenuTree *tree)
+{
+ switch (monitor->type)
+ {
+ case MENU_FILE_MONITOR_FILE:
+ menu_monitor_remove_notify (monitor->monitor,
+ (MenuMonitorNotifyFunc) handle_menu_file_changed,
+ tree);
+ break;
+
+ case MENU_FILE_MONITOR_NONEXISTENT_FILE:
+ menu_monitor_remove_notify (monitor->monitor,
+ (MenuMonitorNotifyFunc) handle_nonexistent_menu_file_changed,
+ tree);
+ break;
+
+ case MENU_FILE_MONITOR_DIRECTORY:
+ menu_monitor_remove_notify (monitor->monitor,
+ (MenuMonitorNotifyFunc) handle_menu_file_directory_changed,
+ tree);
+ break;
+
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+
+ menu_monitor_unref (monitor->monitor);
+ monitor->monitor = NULL;
+
+ monitor->type = MENU_FILE_MONITOR_INVALID;
+
+ g_free (monitor);
+}
+
+static void
+matemenu_tree_remove_menu_file_monitors (MateMenuTree *tree)
+{
+ menu_verbose ("Removing all menu file monitors\n");
+
+ g_slist_foreach (tree->menu_file_monitors,
+ (GFunc) remove_menu_file_monitor,
+ tree);
+ g_slist_free (tree->menu_file_monitors);
+ tree->menu_file_monitors = NULL;
+}
+
+static MateMenuTree *
+matemenu_tree_lookup_absolute (const char *absolute,
+ MateMenuTreeFlags flags)
+{
+ MateMenuTree *tree;
+ gboolean canonical;
+ const char *canonical_path;
+ char *freeme;
+
+ menu_verbose ("Looking up absolute path in tree cache: \"%s\"\n", absolute);
+
+ if ((tree = matemenu_tree_lookup_from_cache (absolute, flags)) != NULL)
+ return tree;
+
+ canonical = TRUE;
+ canonical_path = freeme = menu_canonicalize_file_name (absolute, FALSE);
+ if (canonical_path == NULL)
+ {
+ menu_verbose ("Failed to canonicalize absolute menu path \"%s\": %s\n",
+ absolute, g_strerror (errno));
+ canonical = FALSE;
+ canonical_path = absolute;
+ }
+
+ if ((tree = matemenu_tree_lookup_from_cache (canonical_path, flags)) != NULL)
+ return tree;
+
+ tree = matemenu_tree_new (MATEMENU_TREE_ABSOLUTE, canonical_path, canonical, flags);
+
+ g_free (freeme);
+
+ return tree;
+}
+
+static MateMenuTree *
+matemenu_tree_lookup_basename (const char *basename,
+ MateMenuTreeFlags flags)
+{
+ MateMenuTree *tree;
+
+ menu_verbose ("Looking up menu file in tree cache: \"%s\"\n", basename);
+
+ if ((tree = matemenu_tree_lookup_from_cache (basename, flags)) != NULL)
+ return tree;
+
+ return matemenu_tree_new (MATEMENU_TREE_BASENAME, basename, FALSE, flags);
+}
+
+static gboolean
+canonicalize_basename_with_config_dir (MateMenuTree *tree,
+ const char *basename,
+ const char *config_dir)
+{
+ char *path;
+
+ path = g_build_filename (config_dir, "menus", basename, NULL);
+
+ tree->canonical_path = menu_canonicalize_file_name (path, FALSE);
+ if (tree->canonical_path)
+ {
+ tree->canonical = TRUE;
+ matemenu_tree_add_menu_file_monitor (tree,
+ tree->canonical_path,
+ MENU_FILE_MONITOR_FILE);
+ }
+ else
+ {
+ matemenu_tree_add_menu_file_monitor (tree,
+ path,
+ MENU_FILE_MONITOR_NONEXISTENT_FILE);
+ }
+
+ g_free (path);
+
+ return tree->canonical;
+}
+
+static void
+canonicalize_basename (MateMenuTree *tree,
+ const char *basename)
+{
+ if (!canonicalize_basename_with_config_dir (tree,
+ basename,
+ g_get_user_config_dir ()))
+ {
+ const char * const *system_config_dirs;
+ int i;
+
+ system_config_dirs = g_get_system_config_dirs ();
+
+ i = 0;
+ while (system_config_dirs[i] != NULL)
+ {
+ if (canonicalize_basename_with_config_dir (tree,
+ basename,
+ system_config_dirs[i]))
+ break;
+
+ ++i;
+ }
+ }
+}
+
+static gboolean matemenu_tree_canonicalize_path(MateMenuTree* tree)
+{
+ if (tree->canonical)
+ return TRUE;
+
+ g_assert(tree->canonical_path == NULL);
+
+ if (tree->type == MATEMENU_TREE_BASENAME)
+ {
+ matemenu_tree_remove_menu_file_monitors (tree);
+
+ if (strcmp(tree->basename, "mate-applications.menu") == 0 && g_getenv("XDG_MENU_PREFIX"))
+ {
+ char* prefixed_basename;
+ prefixed_basename = g_strdup_printf("%s%s", g_getenv("XDG_MENU_PREFIX"), tree->basename);
+ canonicalize_basename(tree, prefixed_basename);
+ g_free(prefixed_basename);
+ }
+
+ if (!tree->canonical)
+ canonicalize_basename(tree, tree->basename);
+
+ if (tree->canonical)
+ menu_verbose("Successfully looked up menu_file for \"%s\": %s\n", tree->basename, tree->canonical_path);
+ else
+ menu_verbose("Failed to look up menu_file for \"%s\"\n", tree->basename);
+ }
+ else /* if (tree->type == MATEMENU_TREE_ABSOLUTE) */
+ {
+ tree->canonical_path = menu_canonicalize_file_name(tree->absolute_path, FALSE);
+
+ if (tree->canonical_path != NULL)
+ {
+ menu_verbose("Successfully looked up menu_file for \"%s\": %s\n", tree->absolute_path, tree->canonical_path);
+
+ /*
+ * Replace the cache entry with the canonicalized version
+ */
+ matemenu_tree_remove_from_cache (tree, tree->flags);
+
+ matemenu_tree_remove_menu_file_monitors(tree);
+ matemenu_tree_add_menu_file_monitor(tree, tree->canonical_path, MENU_FILE_MONITOR_FILE);
+
+ tree->canonical = TRUE;
+
+ matemenu_tree_add_to_cache (tree, tree->flags);
+ }
+ else
+ {
+ menu_verbose("Failed to look up menu_file for \"%s\"\n", tree->absolute_path);
+ }
+ }
+
+ return tree->canonical;
+}
+
+static void
+matemenu_tree_force_recanonicalize (MateMenuTree *tree)
+{
+ matemenu_tree_remove_menu_file_monitors (tree);
+
+ if (tree->canonical)
+ {
+ matemenu_tree_force_reload (tree);
+
+ g_free (tree->canonical_path);
+ tree->canonical_path = NULL;
+
+ tree->canonical = FALSE;
+ }
+}
+
+MateMenuTree* matemenu_tree_lookup(const char* menu_file, MateMenuTreeFlags flags)
+{
+ MateMenuTree *retval;
+
+ g_return_val_if_fail (menu_file != NULL, NULL);
+
+ flags &= MATEMENU_TREE_FLAGS_MASK;
+
+ if (g_path_is_absolute (menu_file))
+ retval = matemenu_tree_lookup_absolute (menu_file, flags);
+ else
+ retval = matemenu_tree_lookup_basename (menu_file, flags);
+
+ g_assert (retval != NULL);
+
+ return retval;
+}
+
+static MateMenuTree *
+matemenu_tree_new (MateMenuTreeType type,
+ const char *menu_file,
+ gboolean canonical,
+ MateMenuTreeFlags flags)
+{
+ MateMenuTree *tree;
+
+ tree = g_new0 (MateMenuTree, 1);
+
+ tree->type = type;
+ tree->flags = flags;
+ tree->refcount = 1;
+
+ tree->sort_key = MATEMENU_TREE_SORT_NAME;
+
+ if (tree->type == MATEMENU_TREE_BASENAME)
+ {
+ g_assert (canonical == FALSE);
+ tree->basename = g_strdup (menu_file);
+ }
+ else
+ {
+ tree->canonical = canonical != FALSE;
+ tree->absolute_path = g_strdup (menu_file);
+
+ if (tree->canonical)
+ {
+ tree->canonical_path = g_strdup (menu_file);
+ matemenu_tree_add_menu_file_monitor (tree,
+ tree->canonical_path,
+ MENU_FILE_MONITOR_FILE);
+ }
+ else
+ {
+ matemenu_tree_add_menu_file_monitor (tree,
+ tree->absolute_path,
+ MENU_FILE_MONITOR_NONEXISTENT_FILE);
+ }
+ }
+
+ matemenu_tree_add_to_cache (tree, tree->flags);
+
+ return tree;
+}
+
+MateMenuTree *
+matemenu_tree_ref (MateMenuTree *tree)
+{
+ g_return_val_if_fail (tree != NULL, NULL);
+ g_return_val_if_fail (tree->refcount > 0, NULL);
+
+ tree->refcount++;
+
+ return tree;
+}
+
+void
+matemenu_tree_unref (MateMenuTree *tree)
+{
+ g_return_if_fail (tree != NULL);
+ g_return_if_fail (tree->refcount >= 1);
+
+ if (--tree->refcount > 0)
+ return;
+
+ if (tree->dnotify)
+ tree->dnotify (tree->user_data);
+ tree->user_data = NULL;
+ tree->dnotify = NULL;
+
+ matemenu_tree_remove_from_cache (tree, tree->flags);
+
+ matemenu_tree_force_recanonicalize (tree);
+
+ if (tree->basename != NULL)
+ g_free (tree->basename);
+ tree->basename = NULL;
+
+ if (tree->absolute_path != NULL)
+ g_free (tree->absolute_path);
+ tree->absolute_path = NULL;
+
+ g_slist_foreach (tree->monitors, (GFunc) g_free, NULL);
+ g_slist_free (tree->monitors);
+ tree->monitors = NULL;
+
+ g_free (tree);
+}
+
+void
+matemenu_tree_set_user_data (MateMenuTree *tree,
+ gpointer user_data,
+ GDestroyNotify dnotify)
+{
+ g_return_if_fail (tree != NULL);
+
+ if (tree->dnotify != NULL)
+ tree->dnotify (tree->user_data);
+
+ tree->dnotify = dnotify;
+ tree->user_data = user_data;
+}
+
+gpointer
+matemenu_tree_get_user_data (MateMenuTree *tree)
+{
+ g_return_val_if_fail (tree != NULL, NULL);
+
+ return tree->user_data;
+}
+
+const char *
+matemenu_tree_get_menu_file (MateMenuTree *tree)
+{
+ /* FIXME: this is horribly ugly. But it's done to keep the API. Would be bad
+ * to break the API only for a "const char *" => "char *" change. The other
+ * alternative is to leak the memory, which is bad too. */
+ static char *ugly_result_cache = NULL;
+
+ g_return_val_if_fail (tree != NULL, NULL);
+
+ /* we need to canonicalize the path so we actually find out the real menu
+ * file that is being used -- and take into account XDG_MENU_PREFIX */
+ if (!matemenu_tree_canonicalize_path (tree))
+ return NULL;
+
+ if (ugly_result_cache != NULL)
+ {
+ g_free (ugly_result_cache);
+ ugly_result_cache = NULL;
+ }
+
+ if (tree->type == MATEMENU_TREE_BASENAME)
+ {
+ ugly_result_cache = g_path_get_basename (tree->canonical_path);
+ return ugly_result_cache;
+ }
+ else
+ return tree->absolute_path;
+}
+
+MateMenuTreeDirectory *
+matemenu_tree_get_root_directory (MateMenuTree *tree)
+{
+ g_return_val_if_fail (tree != NULL, NULL);
+
+ if (!tree->root)
+ {
+ matemenu_tree_build_from_layout (tree);
+
+ if (!tree->root)
+ return NULL;
+ }
+
+ return matemenu_tree_item_ref (tree->root);
+}
+
+static MateMenuTreeDirectory *
+find_path (MateMenuTreeDirectory *directory,
+ const char *path)
+{
+ const char *name;
+ char *slash;
+ char *freeme;
+ GSList *tmp;
+
+ while (path[0] == G_DIR_SEPARATOR) path++;
+
+ if (path[0] == '\0')
+ return directory;
+
+ freeme = NULL;
+ slash = strchr (path, G_DIR_SEPARATOR);
+ if (slash)
+ {
+ name = freeme = g_strndup (path, slash - path);
+ path = slash + 1;
+ }
+ else
+ {
+ name = path;
+ path = NULL;
+ }
+
+ tmp = directory->contents;
+ while (tmp != NULL)
+ {
+ MateMenuTreeItem *item = tmp->data;
+
+ if (matemenu_tree_item_get_type (item) != MATEMENU_TREE_ITEM_DIRECTORY)
+ {
+ tmp = tmp->next;
+ continue;
+ }
+
+ if (!strcmp (name, MATEMENU_TREE_DIRECTORY (item)->name))
+ {
+ g_free (freeme);
+
+ if (path)
+ return find_path (MATEMENU_TREE_DIRECTORY (item), path);
+ else
+ return MATEMENU_TREE_DIRECTORY (item);
+ }
+
+ tmp = tmp->next;
+ }
+
+ g_free (freeme);
+
+ return NULL;
+}
+
+MateMenuTreeDirectory *
+matemenu_tree_get_directory_from_path (MateMenuTree *tree,
+ const char *path)
+{
+ MateMenuTreeDirectory *root;
+ MateMenuTreeDirectory *directory;
+
+ g_return_val_if_fail (tree != NULL, NULL);
+ g_return_val_if_fail (path != NULL, NULL);
+
+ if (path[0] != G_DIR_SEPARATOR)
+ return NULL;
+
+ if (!(root = matemenu_tree_get_root_directory (tree)))
+ return NULL;
+
+ directory = find_path (root, path);
+
+ matemenu_tree_item_unref (root);
+
+ return directory ? matemenu_tree_item_ref (directory) : NULL;
+}
+
+MateMenuTreeSortKey
+matemenu_tree_get_sort_key (MateMenuTree *tree)
+{
+ g_return_val_if_fail (tree != NULL, MATEMENU_TREE_SORT_NAME);
+ g_return_val_if_fail (tree->refcount > 0, MATEMENU_TREE_SORT_NAME);
+
+ return tree->sort_key;
+}
+
+void
+matemenu_tree_set_sort_key (MateMenuTree *tree,
+ MateMenuTreeSortKey sort_key)
+{
+ g_return_if_fail (tree != NULL);
+ g_return_if_fail (tree->refcount > 0);
+ g_return_if_fail (sort_key >= MATEMENU_TREE_SORT_FIRST);
+ g_return_if_fail (sort_key <= MATEMENU_TREE_SORT_LAST);
+
+ if (sort_key == tree->sort_key)
+ return;
+
+ tree->sort_key = sort_key;
+ matemenu_tree_force_rebuild (tree);
+}
+
+void
+matemenu_tree_add_monitor (MateMenuTree *tree,
+ MateMenuTreeChangedFunc callback,
+ gpointer user_data)
+{
+ MateMenuTreeMonitor *monitor;
+ GSList *tmp;
+
+ g_return_if_fail (tree != NULL);
+ g_return_if_fail (callback != NULL);
+
+ tmp = tree->monitors;
+ while (tmp != NULL)
+ {
+ monitor = tmp->data;
+
+ if (monitor->callback == callback &&
+ monitor->user_data == user_data)
+ break;
+
+ tmp = tmp->next;
+ }
+
+ if (tmp == NULL)
+ {
+ monitor = g_new0 (MateMenuTreeMonitor, 1);
+
+ monitor->callback = callback;
+ monitor->user_data = user_data;
+
+ tree->monitors = g_slist_append (tree->monitors, monitor);
+ }
+}
+
+void
+matemenu_tree_remove_monitor (MateMenuTree *tree,
+ MateMenuTreeChangedFunc callback,
+ gpointer user_data)
+{
+ GSList *tmp;
+
+ g_return_if_fail (tree != NULL);
+ g_return_if_fail (callback != NULL);
+
+ tmp = tree->monitors;
+ while (tmp != NULL)
+ {
+ MateMenuTreeMonitor *monitor = tmp->data;
+ GSList *next = tmp->next;
+
+ if (monitor->callback == callback &&
+ monitor->user_data == user_data)
+ {
+ tree->monitors = g_slist_delete_link (tree->monitors, tmp);
+ g_free (monitor);
+ }
+
+ tmp = next;
+ }
+}
+
+static void
+matemenu_tree_invoke_monitors (MateMenuTree *tree)
+{
+ GSList *tmp;
+
+ tmp = tree->monitors;
+ while (tmp != NULL)
+ {
+ MateMenuTreeMonitor *monitor = tmp->data;
+ GSList *next = tmp->next;
+
+ monitor->callback (tree, monitor->user_data);
+
+ tmp = next;
+ }
+}
+
+MateMenuTreeItemType
+matemenu_tree_item_get_type (MateMenuTreeItem *item)
+{
+ g_return_val_if_fail (item != NULL, 0);
+
+ return item->type;
+}
+
+MateMenuTreeDirectory *
+matemenu_tree_item_get_parent (MateMenuTreeItem *item)
+{
+ g_return_val_if_fail (item != NULL, NULL);
+
+ return item->parent ? matemenu_tree_item_ref (item->parent) : NULL;
+}
+
+static void
+matemenu_tree_item_set_parent (MateMenuTreeItem *item,
+ MateMenuTreeDirectory *parent)
+{
+ g_return_if_fail (item != NULL);
+
+ item->parent = parent;
+}
+
+GSList *
+matemenu_tree_directory_get_contents (MateMenuTreeDirectory *directory)
+{
+ GSList *retval;
+ GSList *tmp;
+
+ g_return_val_if_fail (directory != NULL, NULL);
+
+ retval = NULL;
+
+ tmp = directory->contents;
+ while (tmp != NULL)
+ {
+ retval = g_slist_prepend (retval,
+ matemenu_tree_item_ref (tmp->data));
+
+ tmp = tmp->next;
+ }
+
+ return g_slist_reverse (retval);
+}
+
+const char *
+matemenu_tree_directory_get_name (MateMenuTreeDirectory *directory)
+{
+ g_return_val_if_fail (directory != NULL, NULL);
+
+ if (!directory->directory_entry)
+ return directory->name;
+
+ return desktop_entry_get_name (directory->directory_entry);
+}
+
+const char *
+matemenu_tree_directory_get_comment (MateMenuTreeDirectory *directory)
+{
+ g_return_val_if_fail (directory != NULL, NULL);
+
+ if (!directory->directory_entry)
+ return NULL;
+
+ return desktop_entry_get_comment (directory->directory_entry);
+}
+
+const char* matemenu_tree_directory_get_icon(MateMenuTreeDirectory* directory)
+{
+ g_return_val_if_fail(directory != NULL, NULL);
+
+ if (!directory->directory_entry)
+ return NULL;
+
+ return desktop_entry_get_icon(directory->directory_entry);
+}
+
+const char *
+matemenu_tree_directory_get_desktop_file_path (MateMenuTreeDirectory *directory)
+{
+ g_return_val_if_fail (directory != NULL, NULL);
+
+ if (!directory->directory_entry)
+ return NULL;
+
+ return desktop_entry_get_path (directory->directory_entry);
+}
+
+const char *
+matemenu_tree_directory_get_menu_id (MateMenuTreeDirectory *directory)
+{
+ g_return_val_if_fail (directory != NULL, NULL);
+
+ return directory->name;
+}
+
+static void
+matemenu_tree_directory_set_tree (MateMenuTreeDirectory *directory,
+ MateMenuTree *tree)
+{
+ MateMenuTreeDirectoryRoot *root;
+
+ g_assert (directory != NULL);
+ g_assert (directory->is_root);
+
+ root = (MateMenuTreeDirectoryRoot *) directory;
+
+ root->tree = tree;
+}
+
+MateMenuTree *
+matemenu_tree_directory_get_tree (MateMenuTreeDirectory *directory)
+{
+ MateMenuTreeDirectoryRoot *root;
+
+ g_return_val_if_fail (directory != NULL, NULL);
+
+ while (MATEMENU_TREE_ITEM (directory)->parent != NULL)
+ directory = MATEMENU_TREE_DIRECTORY (MATEMENU_TREE_ITEM (directory)->parent);
+
+ if (!directory->is_root)
+ return NULL;
+
+ root = (MateMenuTreeDirectoryRoot *) directory;
+
+ if (root->tree)
+ matemenu_tree_ref (root->tree);
+
+ return root->tree;
+}
+
+gboolean
+matemenu_tree_directory_get_is_nodisplay (MateMenuTreeDirectory *directory)
+{
+ g_return_val_if_fail (directory != NULL, FALSE);
+
+ return directory->is_nodisplay;
+}
+
+static void
+append_directory_path (MateMenuTreeDirectory *directory,
+ GString *path)
+{
+
+ if (!directory->item.parent)
+ {
+ g_string_append_c (path, G_DIR_SEPARATOR);
+ return;
+ }
+
+ append_directory_path (directory->item.parent, path);
+
+ g_string_append (path, directory->name);
+ g_string_append_c (path, G_DIR_SEPARATOR);
+}
+
+char *
+matemenu_tree_directory_make_path (MateMenuTreeDirectory *directory,
+ MateMenuTreeEntry *entry)
+{
+ GString *path;
+
+ g_return_val_if_fail (directory != NULL, NULL);
+
+ path = g_string_new (NULL);
+
+ append_directory_path (directory, path);
+
+ if (entry != NULL)
+ g_string_append (path,
+ desktop_entry_get_basename (entry->desktop_entry));
+
+ return g_string_free (path, FALSE);
+}
+
+const char *
+matemenu_tree_entry_get_name (MateMenuTreeEntry *entry)
+{
+ g_return_val_if_fail (entry != NULL, NULL);
+
+ return desktop_entry_get_name (entry->desktop_entry);
+}
+
+const char *
+matemenu_tree_entry_get_generic_name (MateMenuTreeEntry *entry)
+{
+ g_return_val_if_fail (entry != NULL, NULL);
+
+ return desktop_entry_get_generic_name (entry->desktop_entry);
+}
+
+const char *
+matemenu_tree_entry_get_display_name (MateMenuTreeEntry *entry)
+{
+ const char *display_name;
+
+ g_return_val_if_fail (entry != NULL, NULL);
+
+ display_name = desktop_entry_get_full_name (entry->desktop_entry);
+ if (!display_name || display_name[0] == '\0')
+ display_name = desktop_entry_get_name (entry->desktop_entry);
+
+ return display_name;
+}
+
+const char *
+matemenu_tree_entry_get_comment (MateMenuTreeEntry *entry)
+{
+ g_return_val_if_fail (entry != NULL, NULL);
+
+ return desktop_entry_get_comment (entry->desktop_entry);
+}
+
+const char* matemenu_tree_entry_get_icon(MateMenuTreeEntry *entry)
+{
+ g_return_val_if_fail (entry != NULL, NULL);
+
+ return desktop_entry_get_icon(entry->desktop_entry);
+}
+
+const char* matemenu_tree_entry_get_exec(MateMenuTreeEntry* entry)
+{
+ g_return_val_if_fail(entry != NULL, NULL);
+
+ return desktop_entry_get_exec(entry->desktop_entry);
+}
+
+gboolean matemenu_tree_entry_get_launch_in_terminal(MateMenuTreeEntry* entry)
+{
+ g_return_val_if_fail(entry != NULL, FALSE);
+
+ return desktop_entry_get_launch_in_terminal(entry->desktop_entry);
+}
+
+const char* matemenu_tree_entry_get_desktop_file_path(MateMenuTreeEntry* entry)
+{
+ g_return_val_if_fail(entry != NULL, NULL);
+
+ return desktop_entry_get_path(entry->desktop_entry);
+}
+
+const char* matemenu_tree_entry_get_desktop_file_id(MateMenuTreeEntry* entry)
+{
+ g_return_val_if_fail(entry != NULL, NULL);
+
+ return entry->desktop_file_id;
+}
+
+gboolean matemenu_tree_entry_get_is_excluded(MateMenuTreeEntry* entry)
+{
+ g_return_val_if_fail(entry != NULL, FALSE);
+
+ return entry->is_excluded;
+}
+
+gboolean matemenu_tree_entry_get_is_nodisplay(MateMenuTreeEntry* entry)
+{
+ g_return_val_if_fail(entry != NULL, FALSE);
+
+ return entry->is_nodisplay;
+}
+
+MateMenuTreeDirectory* matemenu_tree_header_get_directory(MateMenuTreeHeader* header)
+{
+ g_return_val_if_fail (header != NULL, NULL);
+
+ return matemenu_tree_item_ref(header->directory);
+}
+
+MateMenuTreeDirectory* matemenu_tree_alias_get_directory(MateMenuTreeAlias* alias)
+{
+ g_return_val_if_fail (alias != NULL, NULL);
+
+ return matemenu_tree_item_ref(alias->directory);
+}
+
+MateMenuTreeItem *
+matemenu_tree_alias_get_item (MateMenuTreeAlias *alias)
+{
+ g_return_val_if_fail (alias != NULL, NULL);
+
+ return matemenu_tree_item_ref (alias->aliased_item);
+}
+
+static MateMenuTreeDirectory *
+matemenu_tree_directory_new (MateMenuTreeDirectory *parent,
+ const char *name,
+ gboolean is_root)
+{
+ MateMenuTreeDirectory *retval;
+
+ if (!is_root)
+ {
+ retval = g_new0 (MateMenuTreeDirectory, 1);
+ }
+ else
+ {
+ MateMenuTreeDirectoryRoot *root;
+
+ root = g_new0 (MateMenuTreeDirectoryRoot, 1);
+
+ retval = MATEMENU_TREE_DIRECTORY (root);
+
+ retval->is_root = TRUE;
+ }
+
+
+ retval->item.type = MATEMENU_TREE_ITEM_DIRECTORY;
+ retval->item.parent = parent;
+ retval->item.refcount = 1;
+
+ retval->name = g_strdup (name);
+ retval->directory_entry = NULL;
+ retval->entries = NULL;
+ retval->subdirs = NULL;
+ retval->default_layout_info = NULL;
+ retval->layout_info = NULL;
+ retval->contents = NULL;
+ retval->only_unallocated = FALSE;
+ retval->is_nodisplay = FALSE;
+ retval->layout_pending_separator = FALSE;
+ retval->preprocessed = FALSE;
+ retval->will_inline_header = G_MAXUINT16;
+
+ retval->default_layout_values.mask = MENU_LAYOUT_VALUES_NONE;
+ retval->default_layout_values.show_empty = FALSE;
+ retval->default_layout_values.inline_menus = FALSE;
+ retval->default_layout_values.inline_limit = 4;
+ retval->default_layout_values.inline_header = FALSE;
+ retval->default_layout_values.inline_alias = FALSE;
+
+ return retval;
+}
+
+static void
+matemenu_tree_directory_finalize (MateMenuTreeDirectory *directory)
+{
+ g_assert (directory->item.refcount == 0);
+
+ g_slist_foreach (directory->contents,
+ (GFunc) matemenu_tree_item_unref_and_unset_parent,
+ NULL);
+ g_slist_free (directory->contents);
+ directory->contents = NULL;
+
+ g_slist_foreach (directory->default_layout_info,
+ (GFunc) menu_layout_node_unref,
+ NULL);
+ g_slist_free (directory->default_layout_info);
+ directory->default_layout_info = NULL;
+
+ g_slist_foreach (directory->layout_info,
+ (GFunc) menu_layout_node_unref,
+ NULL);
+ g_slist_free (directory->layout_info);
+ directory->layout_info = NULL;
+
+ g_slist_foreach (directory->subdirs,
+ (GFunc) matemenu_tree_item_unref_and_unset_parent,
+ NULL);
+ g_slist_free (directory->subdirs);
+ directory->subdirs = NULL;
+
+ g_slist_foreach (directory->entries,
+ (GFunc) matemenu_tree_item_unref_and_unset_parent,
+ NULL);
+ g_slist_free (directory->entries);
+ directory->entries = NULL;
+
+ if (directory->directory_entry)
+ desktop_entry_unref (directory->directory_entry);
+ directory->directory_entry = NULL;
+
+ g_free (directory->name);
+ directory->name = NULL;
+}
+
+static MateMenuTreeSeparator *
+matemenu_tree_separator_new (MateMenuTreeDirectory *parent)
+{
+ MateMenuTreeSeparator *retval;
+
+ retval = g_new0 (MateMenuTreeSeparator, 1);
+
+ retval->item.type = MATEMENU_TREE_ITEM_SEPARATOR;
+ retval->item.parent = parent;
+ retval->item.refcount = 1;
+
+ return retval;
+}
+
+static MateMenuTreeHeader *
+matemenu_tree_header_new (MateMenuTreeDirectory *parent,
+ MateMenuTreeDirectory *directory)
+{
+ MateMenuTreeHeader *retval;
+
+ retval = g_new0 (MateMenuTreeHeader, 1);
+
+ retval->item.type = MATEMENU_TREE_ITEM_HEADER;
+ retval->item.parent = parent;
+ retval->item.refcount = 1;
+
+ retval->directory = matemenu_tree_item_ref (directory);
+
+ matemenu_tree_item_set_parent (MATEMENU_TREE_ITEM (retval->directory), NULL);
+
+ return retval;
+}
+
+static void
+matemenu_tree_header_finalize (MateMenuTreeHeader *header)
+{
+ g_assert (header->item.refcount == 0);
+
+ if (header->directory != NULL)
+ matemenu_tree_item_unref (header->directory);
+ header->directory = NULL;
+}
+
+static MateMenuTreeAlias *
+matemenu_tree_alias_new (MateMenuTreeDirectory *parent,
+ MateMenuTreeDirectory *directory,
+ MateMenuTreeItem *item)
+{
+ MateMenuTreeAlias *retval;
+
+ retval = g_new0 (MateMenuTreeAlias, 1);
+
+ retval->item.type = MATEMENU_TREE_ITEM_ALIAS;
+ retval->item.parent = parent;
+ retval->item.refcount = 1;
+
+ retval->directory = matemenu_tree_item_ref (directory);
+ if (item->type != MATEMENU_TREE_ITEM_ALIAS)
+ retval->aliased_item = matemenu_tree_item_ref (item);
+ else
+ retval->aliased_item = matemenu_tree_item_ref (matemenu_tree_alias_get_item (MATEMENU_TREE_ALIAS (item)));
+
+ matemenu_tree_item_set_parent (MATEMENU_TREE_ITEM (retval->directory), NULL);
+ matemenu_tree_item_set_parent (retval->aliased_item, NULL);
+
+ return retval;
+}
+
+static void
+matemenu_tree_alias_finalize (MateMenuTreeAlias *alias)
+{
+ g_assert (alias->item.refcount == 0);
+
+ if (alias->directory != NULL)
+ matemenu_tree_item_unref (alias->directory);
+ alias->directory = NULL;
+
+ if (alias->aliased_item != NULL)
+ matemenu_tree_item_unref (alias->aliased_item);
+ alias->aliased_item = NULL;
+}
+
+static MateMenuTreeEntry *
+matemenu_tree_entry_new (MateMenuTreeDirectory *parent,
+ DesktopEntry *desktop_entry,
+ const char *desktop_file_id,
+ gboolean is_excluded,
+ gboolean is_nodisplay)
+{
+ MateMenuTreeEntry *retval;
+
+ retval = g_new0 (MateMenuTreeEntry, 1);
+
+ retval->item.type = MATEMENU_TREE_ITEM_ENTRY;
+ retval->item.parent = parent;
+ retval->item.refcount = 1;
+
+ retval->desktop_entry = desktop_entry_ref (desktop_entry);
+ retval->desktop_file_id = g_strdup (desktop_file_id);
+ retval->is_excluded = is_excluded != FALSE;
+ retval->is_nodisplay = is_nodisplay != FALSE;
+
+ return retval;
+}
+
+static void
+matemenu_tree_entry_finalize (MateMenuTreeEntry *entry)
+{
+ g_assert (entry->item.refcount == 0);
+
+ g_free (entry->desktop_file_id);
+ entry->desktop_file_id = NULL;
+
+ if (entry->desktop_entry)
+ desktop_entry_unref (entry->desktop_entry);
+ entry->desktop_entry = NULL;
+}
+
+static int
+matemenu_tree_entry_compare_by_id (MateMenuTreeItem *a,
+ MateMenuTreeItem *b)
+{
+ if (a->type == MATEMENU_TREE_ITEM_ALIAS)
+ a = MATEMENU_TREE_ALIAS (a)->aliased_item;
+
+ if (b->type == MATEMENU_TREE_ITEM_ALIAS)
+ b = MATEMENU_TREE_ALIAS (b)->aliased_item;
+
+ return strcmp (MATEMENU_TREE_ENTRY (a)->desktop_file_id,
+ MATEMENU_TREE_ENTRY (b)->desktop_file_id);
+}
+
+gpointer matemenu_tree_item_ref(gpointer itemp)
+{
+ MateMenuTreeItem* item = (MateMenuTreeItem*) itemp;
+
+ g_return_val_if_fail(item != NULL, NULL);
+ g_return_val_if_fail(item->refcount > 0, NULL);
+
+ item->refcount++;
+
+ return item;
+}
+
+void
+matemenu_tree_item_unref (gpointer itemp)
+{
+ MateMenuTreeItem *item;
+
+ item = (MateMenuTreeItem *) itemp;
+
+ g_return_if_fail (item != NULL);
+ g_return_if_fail (item->refcount > 0);
+
+ if (--item->refcount == 0)
+ {
+ switch (item->type)
+ {
+ case MATEMENU_TREE_ITEM_DIRECTORY:
+ matemenu_tree_directory_finalize (MATEMENU_TREE_DIRECTORY (item));
+ break;
+
+ case MATEMENU_TREE_ITEM_ENTRY:
+ matemenu_tree_entry_finalize (MATEMENU_TREE_ENTRY (item));
+ break;
+
+ case MATEMENU_TREE_ITEM_SEPARATOR:
+ break;
+
+ case MATEMENU_TREE_ITEM_HEADER:
+ matemenu_tree_header_finalize (MATEMENU_TREE_HEADER (item));
+ break;
+
+ case MATEMENU_TREE_ITEM_ALIAS:
+ matemenu_tree_alias_finalize (MATEMENU_TREE_ALIAS (item));
+ break;
+
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+
+ if (item->dnotify)
+ item->dnotify (item->user_data);
+ item->user_data = NULL;
+ item->dnotify = NULL;
+
+ item->parent = NULL;
+
+ g_free (item);
+ }
+}
+
+static void
+matemenu_tree_item_unref_and_unset_parent (gpointer itemp)
+{
+ MateMenuTreeItem *item;
+
+ item = (MateMenuTreeItem *) itemp;
+
+ g_return_if_fail (item != NULL);
+
+ matemenu_tree_item_set_parent (item, NULL);
+ matemenu_tree_item_unref (item);
+}
+
+void
+matemenu_tree_item_set_user_data (MateMenuTreeItem *item,
+ gpointer user_data,
+ GDestroyNotify dnotify)
+{
+ g_return_if_fail (item != NULL);
+
+ if (item->dnotify != NULL)
+ item->dnotify (item->user_data);
+
+ item->dnotify = dnotify;
+ item->user_data = user_data;
+}
+
+gpointer
+matemenu_tree_item_get_user_data (MateMenuTreeItem *item)
+{
+ g_return_val_if_fail (item != NULL, NULL);
+
+ return item->user_data;
+}
+
+static inline const char *
+matemenu_tree_item_compare_get_name_helper (MateMenuTreeItem *item,
+ MateMenuTreeSortKey sort_key)
+{
+ const char *name;
+
+ name = NULL;
+
+ switch (item->type)
+ {
+ case MATEMENU_TREE_ITEM_DIRECTORY:
+ if (MATEMENU_TREE_DIRECTORY (item)->directory_entry)
+ name = desktop_entry_get_name (MATEMENU_TREE_DIRECTORY (item)->directory_entry);
+ else
+ name = MATEMENU_TREE_DIRECTORY (item)->name;
+ break;
+
+ case MATEMENU_TREE_ITEM_ENTRY:
+ switch (sort_key)
+ {
+ case MATEMENU_TREE_SORT_NAME:
+ name = desktop_entry_get_name (MATEMENU_TREE_ENTRY (item)->desktop_entry);
+ break;
+ case MATEMENU_TREE_SORT_DISPLAY_NAME:
+ name = matemenu_tree_entry_get_display_name (MATEMENU_TREE_ENTRY (item));
+ break;
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+ break;
+
+ case MATEMENU_TREE_ITEM_ALIAS:
+ {
+ MateMenuTreeItem *dir;
+ dir = MATEMENU_TREE_ITEM (MATEMENU_TREE_ALIAS (item)->directory);
+ name = matemenu_tree_item_compare_get_name_helper (dir, sort_key);
+ }
+ break;
+
+ case MATEMENU_TREE_ITEM_SEPARATOR:
+ case MATEMENU_TREE_ITEM_HEADER:
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+
+ return name;
+}
+
+static int
+matemenu_tree_item_compare (MateMenuTreeItem *a,
+ MateMenuTreeItem *b,
+ gpointer sort_key_p)
+{
+ const char *name_a;
+ const char *name_b;
+ MateMenuTreeSortKey sort_key;
+
+ sort_key = GPOINTER_TO_INT (sort_key_p);
+
+ name_a = matemenu_tree_item_compare_get_name_helper (a, sort_key);
+ name_b = matemenu_tree_item_compare_get_name_helper (b, sort_key);
+
+ return g_utf8_collate (name_a, name_b);
+}
+
+static MenuLayoutNode *
+find_menu_child (MenuLayoutNode *layout)
+{
+ MenuLayoutNode *child;
+
+ child = menu_layout_node_get_children (layout);
+ while (child && menu_layout_node_get_type (child) != MENU_LAYOUT_NODE_MENU)
+ child = menu_layout_node_get_next (child);
+
+ return child;
+}
+
+static void
+merge_resolved_children (MateMenuTree *tree,
+ GHashTable *loaded_menu_files,
+ MenuLayoutNode *where,
+ MenuLayoutNode *from)
+{
+ MenuLayoutNode *insert_after;
+ MenuLayoutNode *menu_child;
+ MenuLayoutNode *from_child;
+
+ matemenu_tree_resolve_files (tree, loaded_menu_files, from);
+
+ insert_after = where;
+ g_assert (menu_layout_node_get_type (insert_after) != MENU_LAYOUT_NODE_ROOT);
+ g_assert (menu_layout_node_get_parent (insert_after) != NULL);
+
+ /* skip root node */
+ menu_child = find_menu_child (from);
+ g_assert (menu_child != NULL);
+ g_assert (menu_layout_node_get_type (menu_child) == MENU_LAYOUT_NODE_MENU);
+
+ /* merge children of toplevel <Menu> */
+ from_child = menu_layout_node_get_children (menu_child);
+ while (from_child != NULL)
+ {
+ MenuLayoutNode *next;
+
+ next = menu_layout_node_get_next (from_child);
+
+ menu_verbose ("Merging ");
+ menu_debug_print_layout (from_child, FALSE);
+ menu_verbose (" after ");
+ menu_debug_print_layout (insert_after, FALSE);
+
+ switch (menu_layout_node_get_type (from_child))
+ {
+ case MENU_LAYOUT_NODE_NAME:
+ menu_layout_node_unlink (from_child); /* delete this */
+ break;
+
+ default:
+ menu_layout_node_steal (from_child);
+ menu_layout_node_insert_after (insert_after, from_child);
+ menu_layout_node_unref (from_child);
+
+ insert_after = from_child;
+ break;
+ }
+
+ from_child = next;
+ }
+}
+
+static gboolean
+load_merge_file (MateMenuTree *tree,
+ GHashTable *loaded_menu_files,
+ const char *filename,
+ gboolean is_canonical,
+ gboolean add_monitor,
+ MenuLayoutNode *where)
+{
+ MenuLayoutNode *to_merge;
+ const char *canonical;
+ char *freeme;
+ gboolean retval;
+
+ freeme = NULL;
+ retval = FALSE;
+
+ if (!is_canonical)
+ {
+ canonical = freeme = menu_canonicalize_file_name (filename, FALSE);
+ if (canonical == NULL)
+ {
+ if (add_monitor)
+ matemenu_tree_add_menu_file_monitor (tree,
+ filename,
+ MENU_FILE_MONITOR_NONEXISTENT_FILE);
+
+ menu_verbose ("Failed to canonicalize merge file path \"%s\": %s\n",
+ filename, g_strerror (errno));
+ goto out;
+ }
+ }
+ else
+ {
+ canonical = filename;
+ }
+
+ if (g_hash_table_lookup (loaded_menu_files, canonical) != NULL)
+ {
+ g_warning ("Not loading \"%s\": recursive loop detected in .menu files",
+ canonical);
+ retval = TRUE;
+ goto out;
+ }
+
+ menu_verbose ("Merging file \"%s\"\n", canonical);
+
+ to_merge = menu_layout_load (canonical, NULL, NULL);
+ if (to_merge == NULL)
+ {
+ menu_verbose ("No menu for file \"%s\" found when merging\n",
+ canonical);
+ goto out;
+ }
+
+ retval = TRUE;
+
+ g_hash_table_insert (loaded_menu_files, (char *) canonical, GUINT_TO_POINTER (TRUE));
+
+ if (add_monitor)
+ matemenu_tree_add_menu_file_monitor (tree,
+ canonical,
+ MENU_FILE_MONITOR_FILE);
+
+ merge_resolved_children (tree, loaded_menu_files, where, to_merge);
+
+ g_hash_table_remove (loaded_menu_files, canonical);
+
+ menu_layout_node_unref (to_merge);
+
+ out:
+ if (freeme)
+ g_free (freeme);
+
+ return retval;
+}
+
+static gboolean
+load_merge_file_with_config_dir (MateMenuTree *tree,
+ GHashTable *loaded_menu_files,
+ const char *menu_file,
+ const char *config_dir,
+ MenuLayoutNode *where)
+{
+ char *merge_file;
+ gboolean loaded;
+
+ loaded = FALSE;
+
+ merge_file = g_build_filename (config_dir, "menus", menu_file, NULL);
+
+ if (load_merge_file (tree, loaded_menu_files, merge_file, FALSE, TRUE, where))
+ loaded = TRUE;
+
+ g_free (merge_file);
+
+ return loaded;
+}
+
+static gboolean
+compare_basedir_to_config_dir (const char *canonical_basedir,
+ const char *config_dir)
+{
+ char *dirname;
+ char *canonical_menus_dir;
+ gboolean retval;
+
+ menu_verbose ("Checking to see if basedir '%s' is in '%s'\n",
+ canonical_basedir, config_dir);
+
+ dirname = g_build_filename (config_dir, "menus", NULL);
+
+ retval = FALSE;
+
+ canonical_menus_dir = menu_canonicalize_file_name (dirname, FALSE);
+ if (canonical_menus_dir != NULL &&
+ strcmp (canonical_basedir, canonical_menus_dir) == 0)
+ {
+ retval = TRUE;
+ }
+
+ g_free (canonical_menus_dir);
+ g_free (dirname);
+
+ return retval;
+}
+
+static gboolean
+load_parent_merge_file_from_basename (MateMenuTree *tree,
+ GHashTable *loaded_menu_files,
+ MenuLayoutNode *layout,
+ const char *menu_file,
+ const char *canonical_basedir)
+{
+ gboolean found_basedir;
+ const char * const *system_config_dirs;
+ int i;
+
+ /* We're not interested in menu files that are in directories which are not a
+ * parent of the base directory of this menu file */
+ found_basedir = compare_basedir_to_config_dir (canonical_basedir,
+ g_get_user_config_dir ());
+
+ system_config_dirs = g_get_system_config_dirs ();
+
+ i = 0;
+ while (system_config_dirs[i] != NULL)
+ {
+ if (!found_basedir)
+ {
+ found_basedir = compare_basedir_to_config_dir (canonical_basedir,
+ system_config_dirs[i]);
+ }
+ else
+ {
+ menu_verbose ("Looking for parent menu file '%s' in '%s'\n",
+ menu_file, system_config_dirs[i]);
+
+ if (load_merge_file_with_config_dir (tree,
+ loaded_menu_files,
+ menu_file,
+ system_config_dirs[i],
+ layout))
+ {
+ break;
+ }
+ }
+
+ ++i;
+ }
+
+ return system_config_dirs[i] != NULL;
+}
+
+static gboolean load_parent_merge_file(MateMenuTree* tree, GHashTable* loaded_menu_files, MenuLayoutNode* layout)
+{
+ MenuLayoutNode* root;
+ const char* basedir;
+ const char* menu_name;
+ char* canonical_basedir;
+ char* menu_file;
+ gboolean found;
+
+ root = menu_layout_node_get_root(layout);
+
+ basedir = menu_layout_node_root_get_basedir(root);
+ menu_name = menu_layout_node_root_get_name(root);
+
+ canonical_basedir = menu_canonicalize_file_name(basedir, FALSE);
+
+ if (canonical_basedir == NULL)
+ {
+ menu_verbose("Menu basedir '%s' no longer exists, not merging parent\n", basedir);
+ return FALSE;
+ }
+
+ found = FALSE;
+ menu_file = g_strconcat(menu_name, ".menu", NULL);
+
+ if (strcmp(menu_file, "mate-applications.menu") == 0 && g_getenv("XDG_MENU_PREFIX"))
+ {
+ char* prefixed_basename;
+ prefixed_basename = g_strdup_printf("%s%s", g_getenv("XDG_MENU_PREFIX"), menu_file);
+ found = load_parent_merge_file_from_basename(tree, loaded_menu_files, layout, prefixed_basename, canonical_basedir);
+ g_free(prefixed_basename);
+ }
+
+ if (!found)
+ {
+ found = load_parent_merge_file_from_basename(tree, loaded_menu_files, layout, menu_file, canonical_basedir);
+ }
+
+ g_free(menu_file);
+ g_free(canonical_basedir);
+
+ return found;
+}
+
+static void
+load_merge_dir (MateMenuTree *tree,
+ GHashTable *loaded_menu_files,
+ const char *dirname,
+ MenuLayoutNode *where)
+{
+ GDir *dir;
+ const char *menu_file;
+
+ menu_verbose ("Loading merge dir \"%s\"\n", dirname);
+
+ matemenu_tree_add_menu_file_monitor (tree,
+ dirname,
+ MENU_FILE_MONITOR_DIRECTORY);
+
+ if ((dir = g_dir_open (dirname, 0, NULL)) == NULL)
+ return;
+
+ while ((menu_file = g_dir_read_name (dir)))
+ {
+ if (g_str_has_suffix (menu_file, ".menu"))
+ {
+ char *full_path;
+
+ full_path = g_build_filename (dirname, menu_file, NULL);
+
+ load_merge_file (tree, loaded_menu_files, full_path, TRUE, FALSE, where);
+
+ g_free (full_path);
+ }
+ }
+
+ g_dir_close (dir);
+}
+
+static void
+load_merge_dir_with_config_dir (MateMenuTree *tree,
+ GHashTable *loaded_menu_files,
+ const char *config_dir,
+ const char *dirname,
+ MenuLayoutNode *where)
+{
+ char *path;
+
+ path = g_build_filename (config_dir, "menus", dirname, NULL);
+
+ load_merge_dir (tree, loaded_menu_files, path, where);
+
+ g_free (path);
+}
+
+static void
+resolve_merge_file (MateMenuTree *tree,
+ GHashTable *loaded_menu_files,
+ MenuLayoutNode *layout)
+{
+ char *filename;
+
+ if (menu_layout_node_merge_file_get_type (layout) == MENU_MERGE_FILE_TYPE_PARENT)
+ {
+ if (load_parent_merge_file (tree, loaded_menu_files, layout))
+ return;
+ }
+
+ filename = menu_layout_node_get_content_as_path (layout);
+ if (filename == NULL)
+ {
+ menu_verbose ("didn't get node content as a path, not merging file\n");
+ }
+ else
+ {
+ load_merge_file (tree, loaded_menu_files, filename, FALSE, TRUE, layout);
+
+ g_free (filename);
+ }
+
+ /* remove the now-replaced node */
+ menu_layout_node_unlink (layout);
+}
+
+static void
+resolve_merge_dir (MateMenuTree *tree,
+ GHashTable *loaded_menu_files,
+ MenuLayoutNode *layout)
+{
+ char *path;
+
+ path = menu_layout_node_get_content_as_path (layout);
+ if (path == NULL)
+ {
+ menu_verbose ("didn't get layout node content as a path, not merging dir\n");
+ }
+ else
+ {
+ load_merge_dir (tree, loaded_menu_files, path, layout);
+
+ g_free (path);
+ }
+
+ /* remove the now-replaced node */
+ menu_layout_node_unlink (layout);
+}
+
+static MenuLayoutNode *
+add_app_dir (MateMenuTree *tree,
+ MenuLayoutNode *before,
+ const char *data_dir)
+{
+ MenuLayoutNode *tmp;
+ char *dirname;
+
+ tmp = menu_layout_node_new (MENU_LAYOUT_NODE_APP_DIR);
+ dirname = g_build_filename (data_dir, "applications", NULL);
+ menu_layout_node_set_content (tmp, dirname);
+ menu_layout_node_insert_before (before, tmp);
+ menu_layout_node_unref (before);
+
+ menu_verbose ("Adding <AppDir>%s</AppDir> in <DefaultAppDirs/>\n",
+ dirname);
+
+ g_free (dirname);
+
+ return tmp;
+}
+
+static void
+resolve_default_app_dirs (MateMenuTree *tree,
+ MenuLayoutNode *layout)
+{
+ MenuLayoutNode *before;
+ const char * const *system_data_dirs;
+ int i;
+
+ system_data_dirs = g_get_system_data_dirs ();
+
+ before = add_app_dir (tree,
+ menu_layout_node_ref (layout),
+ g_get_user_data_dir ());
+
+ i = 0;
+ while (system_data_dirs[i] != NULL)
+ {
+ before = add_app_dir (tree, before, system_data_dirs[i]);
+
+ ++i;
+ }
+
+ menu_layout_node_unref (before);
+
+ /* remove the now-replaced node */
+ menu_layout_node_unlink (layout);
+}
+
+static MenuLayoutNode* add_directory_dir(MateMenuTree* tree, MenuLayoutNode* before, const char* data_dir)
+{
+ MenuLayoutNode* tmp;
+ char* dirname;
+
+ tmp = menu_layout_node_new(MENU_LAYOUT_NODE_DIRECTORY_DIR);
+ dirname = g_build_filename(data_dir, "desktop-directories", NULL);
+ menu_layout_node_set_content(tmp, dirname);
+ menu_layout_node_insert_before(before, tmp);
+ menu_layout_node_unref(before);
+
+ menu_verbose("Adding <DirectoryDir>%s</DirectoryDir> in <DefaultDirectoryDirs/>\n", dirname);
+
+ g_free(dirname);
+
+ return tmp;
+}
+
+static void
+resolve_default_directory_dirs (MateMenuTree *tree,
+ MenuLayoutNode *layout)
+{
+ MenuLayoutNode *before;
+ const char * const *system_data_dirs;
+ int i;
+
+ system_data_dirs = g_get_system_data_dirs ();
+
+ before = add_directory_dir (tree,
+ menu_layout_node_ref (layout),
+ g_get_user_data_dir ());
+
+ i = 0;
+ while (system_data_dirs[i] != NULL)
+ {
+ before = add_directory_dir (tree, before, system_data_dirs[i]);
+
+ ++i;
+ }
+
+ menu_layout_node_unref (before);
+
+ /* remove the now-replaced node */
+ menu_layout_node_unlink (layout);
+}
+
+static void
+resolve_default_merge_dirs (MateMenuTree *tree,
+ GHashTable *loaded_menu_files,
+ MenuLayoutNode *layout)
+{
+ MenuLayoutNode *root;
+ const char *menu_name;
+ char *merge_name;
+ const char * const *system_config_dirs;
+ int i;
+
+ root = menu_layout_node_get_root (layout);
+ menu_name = menu_layout_node_root_get_name (root);
+
+ merge_name = g_strconcat (menu_name, "-merged", NULL);
+
+ system_config_dirs = g_get_system_config_dirs ();
+
+ /* Merge in reverse order */
+ i = 0;
+ while (system_config_dirs[i] != NULL) i++;
+ while (i > 0)
+ {
+ i--;
+ load_merge_dir_with_config_dir (tree,
+ loaded_menu_files,
+ system_config_dirs[i],
+ merge_name,
+ layout);
+ }
+
+ load_merge_dir_with_config_dir (tree,
+ loaded_menu_files,
+ g_get_user_config_dir (),
+ merge_name,
+ layout);
+
+ g_free (merge_name);
+
+ /* remove the now-replaced node */
+ menu_layout_node_unlink (layout);
+}
+
+static void
+add_filename_include (const char *desktop_file_id,
+ DesktopEntry *entry,
+ MenuLayoutNode *include)
+{
+ if (!desktop_entry_has_categories (entry))
+ {
+ MenuLayoutNode *node;
+
+ node = menu_layout_node_new (MENU_LAYOUT_NODE_FILENAME);
+ menu_layout_node_set_content (node, desktop_file_id);
+
+ menu_layout_node_append_child (include, node);
+ menu_layout_node_unref (node);
+ }
+}
+
+static void
+is_dot_directory (const char *basename,
+ DesktopEntry *entry,
+ gboolean *has_dot_directory)
+{
+ if (!strcmp (basename, ".directory"))
+ *has_dot_directory = TRUE;
+}
+
+static gboolean
+add_menu_for_legacy_dir (MenuLayoutNode *parent,
+ const char *legacy_dir,
+ const char *relative_path,
+ const char *legacy_prefix,
+ const char *menu_name)
+{
+ EntryDirectory *ed;
+ DesktopEntrySet *desktop_entries;
+ DesktopEntrySet *directory_entries;
+ GSList *subdirs;
+ gboolean menu_added;
+ gboolean has_dot_directory;
+
+ ed = entry_directory_new_legacy (DESKTOP_ENTRY_INVALID, legacy_dir, legacy_prefix);
+ if (!ed)
+ return FALSE;
+
+ subdirs = NULL;
+ desktop_entries = desktop_entry_set_new ();
+ directory_entries = desktop_entry_set_new ();
+
+ entry_directory_get_flat_contents (ed,
+ desktop_entries,
+ directory_entries,
+ &subdirs);
+ entry_directory_unref (ed);
+
+ has_dot_directory = FALSE;
+ desktop_entry_set_foreach (directory_entries,
+ (DesktopEntrySetForeachFunc) is_dot_directory,
+ &has_dot_directory);
+ desktop_entry_set_unref (directory_entries);
+
+ menu_added = FALSE;
+ if (desktop_entry_set_get_count (desktop_entries) > 0 || subdirs)
+ {
+ MenuLayoutNode *menu;
+ MenuLayoutNode *node;
+ GString *subdir_path;
+ GString *subdir_relative;
+ GSList *tmp;
+ int legacy_dir_len;
+ int relative_path_len;
+
+ menu = menu_layout_node_new (MENU_LAYOUT_NODE_MENU);
+ menu_layout_node_append_child (parent, menu);
+
+ menu_added = TRUE;
+
+ g_assert (menu_name != NULL);
+
+ node = menu_layout_node_new (MENU_LAYOUT_NODE_NAME);
+ menu_layout_node_set_content (node, menu_name);
+ menu_layout_node_append_child (menu, node);
+ menu_layout_node_unref (node);
+
+ if (has_dot_directory)
+ {
+ node = menu_layout_node_new (MENU_LAYOUT_NODE_DIRECTORY);
+ if (relative_path != NULL)
+ {
+ char *directory_entry_path;
+
+ directory_entry_path = g_strdup_printf ("%s/.directory", relative_path);
+ menu_layout_node_set_content (node, directory_entry_path);
+ g_free (directory_entry_path);
+ }
+ else
+ {
+ menu_layout_node_set_content (node, ".directory");
+ }
+ menu_layout_node_append_child (menu, node);
+ menu_layout_node_unref (node);
+ }
+
+ if (desktop_entry_set_get_count (desktop_entries) > 0)
+ {
+ MenuLayoutNode *include;
+
+ include = menu_layout_node_new (MENU_LAYOUT_NODE_INCLUDE);
+ menu_layout_node_append_child (menu, include);
+
+ desktop_entry_set_foreach (desktop_entries,
+ (DesktopEntrySetForeachFunc) add_filename_include,
+ include);
+
+ menu_layout_node_unref (include);
+ }
+
+ subdir_path = g_string_new (legacy_dir);
+ legacy_dir_len = strlen (legacy_dir);
+
+ subdir_relative = g_string_new (relative_path);
+ relative_path_len = relative_path ? strlen (relative_path) : 0;
+
+ tmp = subdirs;
+ while (tmp != NULL)
+ {
+ const char *subdir = tmp->data;
+
+ g_string_append_c (subdir_path, G_DIR_SEPARATOR);
+ g_string_append (subdir_path, subdir);
+
+ if (relative_path_len)
+ {
+ g_string_append_c (subdir_relative, G_DIR_SEPARATOR);
+ }
+ g_string_append (subdir_relative, subdir);
+
+ add_menu_for_legacy_dir (menu,
+ subdir_path->str,
+ subdir_relative->str,
+ legacy_prefix,
+ subdir);
+
+ g_string_truncate (subdir_relative, relative_path_len);
+ g_string_truncate (subdir_path, legacy_dir_len);
+
+ tmp = tmp->next;
+ }
+
+ g_string_free (subdir_path, TRUE);
+ g_string_free (subdir_relative, TRUE);
+
+ menu_layout_node_unref (menu);
+ }
+
+ desktop_entry_set_unref (desktop_entries);
+
+ g_slist_foreach (subdirs, (GFunc) g_free, NULL);
+ g_slist_free (subdirs);
+
+ return menu_added;
+}
+
+static void
+resolve_legacy_dir (MateMenuTree *tree,
+ GHashTable *loaded_menu_files,
+ MenuLayoutNode *legacy)
+{
+ MenuLayoutNode *to_merge;
+ MenuLayoutNode *menu;
+
+ to_merge = menu_layout_node_new (MENU_LAYOUT_NODE_ROOT);
+
+ menu = menu_layout_node_get_parent (legacy);
+ g_assert (menu_layout_node_get_type (menu) == MENU_LAYOUT_NODE_MENU);
+
+ if (add_menu_for_legacy_dir (to_merge,
+ menu_layout_node_get_content (legacy),
+ NULL,
+ menu_layout_node_legacy_dir_get_prefix (legacy),
+ menu_layout_node_menu_get_name (menu)))
+ {
+ merge_resolved_children (tree, loaded_menu_files, legacy, to_merge);
+ }
+
+ menu_layout_node_unref (to_merge);
+}
+
+static MenuLayoutNode *
+add_legacy_dir (MateMenuTree *tree,
+ GHashTable *loaded_menu_files,
+ MenuLayoutNode *before,
+ const char *data_dir)
+{
+ MenuLayoutNode *legacy;
+ char *dirname;
+
+ dirname = g_build_filename (data_dir, "applnk", NULL);
+
+ legacy = menu_layout_node_new (MENU_LAYOUT_NODE_LEGACY_DIR);
+ menu_layout_node_set_content (legacy, dirname);
+ menu_layout_node_legacy_dir_set_prefix (legacy, "kde");
+ menu_layout_node_insert_before (before, legacy);
+ menu_layout_node_unref (before);
+
+ menu_verbose ("Adding <LegacyDir>%s</LegacyDir> in <KDELegacyDirs/>\n",
+ dirname);
+
+ resolve_legacy_dir (tree, loaded_menu_files, legacy);
+
+ g_free (dirname);
+
+ return legacy;
+}
+
+static void
+resolve_kde_legacy_dirs (MateMenuTree *tree,
+ GHashTable *loaded_menu_files,
+ MenuLayoutNode *layout)
+{
+ MenuLayoutNode *before;
+ const char * const *system_data_dirs;
+ int i;
+
+ system_data_dirs = g_get_system_data_dirs ();
+
+ before = add_legacy_dir (tree,
+ loaded_menu_files,
+ menu_layout_node_ref (layout),
+ g_get_user_data_dir ());
+
+ i = 0;
+ while (system_data_dirs[i] != NULL)
+ {
+ before = add_legacy_dir (tree, loaded_menu_files, before, system_data_dirs[i]);
+
+ ++i;
+ }
+
+ menu_layout_node_unref (before);
+
+ /* remove the now-replaced node */
+ menu_layout_node_unlink (layout);
+}
+
+static void
+matemenu_tree_resolve_files (MateMenuTree *tree,
+ GHashTable *loaded_menu_files,
+ MenuLayoutNode *layout)
+{
+ MenuLayoutNode *child;
+
+ menu_verbose ("Resolving files in: ");
+ menu_debug_print_layout (layout, TRUE);
+
+ switch (menu_layout_node_get_type (layout))
+ {
+ case MENU_LAYOUT_NODE_MERGE_FILE:
+ resolve_merge_file (tree, loaded_menu_files, layout);
+ break;
+
+ case MENU_LAYOUT_NODE_MERGE_DIR:
+ resolve_merge_dir (tree, loaded_menu_files, layout);
+ break;
+
+ case MENU_LAYOUT_NODE_DEFAULT_APP_DIRS:
+ resolve_default_app_dirs (tree, layout);
+ break;
+
+ case MENU_LAYOUT_NODE_DEFAULT_DIRECTORY_DIRS:
+ resolve_default_directory_dirs (tree, layout);
+ break;
+
+ case MENU_LAYOUT_NODE_DEFAULT_MERGE_DIRS:
+ resolve_default_merge_dirs (tree, loaded_menu_files, layout);
+ break;
+
+ case MENU_LAYOUT_NODE_LEGACY_DIR:
+ resolve_legacy_dir (tree, loaded_menu_files, layout);
+ break;
+
+ case MENU_LAYOUT_NODE_KDE_LEGACY_DIRS:
+ resolve_kde_legacy_dirs (tree, loaded_menu_files, layout);
+ break;
+
+ case MENU_LAYOUT_NODE_PASSTHROUGH:
+ /* Just get rid of these, we don't need the memory usage */
+ menu_layout_node_unlink (layout);
+ break;
+
+ default:
+ /* Recurse */
+ child = menu_layout_node_get_children (layout);
+ while (child != NULL)
+ {
+ MenuLayoutNode *next = menu_layout_node_get_next (child);
+
+ matemenu_tree_resolve_files (tree, loaded_menu_files, child);
+
+ child = next;
+ }
+ break;
+ }
+}
+
+static void
+move_children (MenuLayoutNode *from,
+ MenuLayoutNode *to)
+{
+ MenuLayoutNode *from_child;
+ MenuLayoutNode *insert_before;
+
+ insert_before = menu_layout_node_get_children (to);
+ from_child = menu_layout_node_get_children (from);
+
+ while (from_child != NULL)
+ {
+ MenuLayoutNode *next;
+
+ next = menu_layout_node_get_next (from_child);
+
+ menu_layout_node_steal (from_child);
+
+ if (menu_layout_node_get_type (from_child) == MENU_LAYOUT_NODE_NAME)
+ {
+ ; /* just drop the Name in the old <Menu> */
+ }
+ else if (insert_before)
+ {
+ menu_layout_node_insert_before (insert_before, from_child);
+ g_assert (menu_layout_node_get_next (from_child) == insert_before);
+ }
+ else
+ {
+ menu_layout_node_append_child (to, from_child);
+ }
+
+ menu_layout_node_unref (from_child);
+
+ from_child = next;
+ }
+}
+
+static int
+null_safe_strcmp (const char *a,
+ const char *b)
+{
+ if (a == NULL && b == NULL)
+ return 0;
+ else if (a == NULL)
+ return -1;
+ else if (b == NULL)
+ return 1;
+ else
+ return strcmp (a, b);
+}
+
+static int
+node_compare_func (const void *a,
+ const void *b)
+{
+ MenuLayoutNode *node_a = (MenuLayoutNode*) a;
+ MenuLayoutNode *node_b = (MenuLayoutNode*) b;
+ MenuLayoutNodeType t_a = menu_layout_node_get_type (node_a);
+ MenuLayoutNodeType t_b = menu_layout_node_get_type (node_b);
+
+ if (t_a < t_b)
+ return -1;
+ else if (t_a > t_b)
+ return 1;
+ else
+ {
+ const char *c_a = menu_layout_node_get_content (node_a);
+ const char *c_b = menu_layout_node_get_content (node_b);
+
+ return null_safe_strcmp (c_a, c_b);
+ }
+}
+
+static int
+node_menu_compare_func (const void *a,
+ const void *b)
+{
+ MenuLayoutNode *node_a = (MenuLayoutNode*) a;
+ MenuLayoutNode *node_b = (MenuLayoutNode*) b;
+ MenuLayoutNode *parent_a = menu_layout_node_get_parent (node_a);
+ MenuLayoutNode *parent_b = menu_layout_node_get_parent (node_b);
+
+ if (parent_a < parent_b)
+ return -1;
+ else if (parent_a > parent_b)
+ return 1;
+ else
+ return null_safe_strcmp (menu_layout_node_menu_get_name (node_a),
+ menu_layout_node_menu_get_name (node_b));
+}
+
+static void
+matemenu_tree_strip_duplicate_children (MateMenuTree *tree,
+ MenuLayoutNode *layout)
+{
+ MenuLayoutNode *child;
+ GSList *simple_nodes;
+ GSList *menu_layout_nodes;
+ GSList *prev;
+ GSList *tmp;
+
+ /* to strip dups, we find all the child nodes where
+ * we want to kill dups, sort them,
+ * then nuke the adjacent nodes that are equal
+ */
+
+ simple_nodes = NULL;
+ menu_layout_nodes = NULL;
+
+ child = menu_layout_node_get_children (layout);
+ while (child != NULL)
+ {
+ switch (menu_layout_node_get_type (child))
+ {
+ /* These are dups if their content is the same */
+ case MENU_LAYOUT_NODE_APP_DIR:
+ case MENU_LAYOUT_NODE_DIRECTORY_DIR:
+ case MENU_LAYOUT_NODE_DIRECTORY:
+ simple_nodes = g_slist_prepend (simple_nodes, child);
+ break;
+
+ /* These have to be merged in a more complicated way,
+ * and then recursed
+ */
+ case MENU_LAYOUT_NODE_MENU:
+ menu_layout_nodes = g_slist_prepend (menu_layout_nodes, child);
+ break;
+
+ default:
+ break;
+ }
+
+ child = menu_layout_node_get_next (child);
+ }
+
+ /* Note that the lists are all backward. So we want to keep
+ * the items that are earlier in the list, because they were
+ * later in the file
+ */
+
+ /* stable sort the simple nodes */
+ simple_nodes = g_slist_sort (simple_nodes,
+ node_compare_func);
+
+ prev = NULL;
+ tmp = simple_nodes;
+ while (tmp != NULL)
+ {
+ GSList *next = tmp->next;
+
+ if (prev)
+ {
+ MenuLayoutNode *p = prev->data;
+ MenuLayoutNode *n = tmp->data;
+
+ if (node_compare_func (p, n) == 0)
+ {
+ /* nuke it! */
+ menu_layout_node_unlink (n);
+ simple_nodes = g_slist_delete_link (simple_nodes, tmp);
+ tmp = prev;
+ }
+ }
+
+ prev = tmp;
+ tmp = next;
+ }
+
+ g_slist_free (simple_nodes);
+ simple_nodes = NULL;
+
+ /* stable sort the menu nodes (the sort includes the
+ * parents of the nodes in the comparison). Remember
+ * the list is backward.
+ */
+ menu_layout_nodes = g_slist_sort (menu_layout_nodes,
+ node_menu_compare_func);
+
+ prev = NULL;
+ tmp = menu_layout_nodes;
+ while (tmp != NULL)
+ {
+ GSList *next = tmp->next;
+
+ if (prev)
+ {
+ MenuLayoutNode *p = prev->data;
+ MenuLayoutNode *n = tmp->data;
+
+ if (node_menu_compare_func (p, n) == 0)
+ {
+ /* Move children of first menu to the start of second
+ * menu and nuke the first menu
+ */
+ move_children (n, p);
+ menu_layout_node_unlink (n);
+ menu_layout_nodes = g_slist_delete_link (menu_layout_nodes, tmp);
+ tmp = prev;
+ }
+ }
+
+ prev = tmp;
+ tmp = next;
+ }
+
+ g_slist_free (menu_layout_nodes);
+ menu_layout_nodes = NULL;
+
+ /* Recursively clean up all children */
+ child = menu_layout_node_get_children (layout);
+ while (child != NULL)
+ {
+ if (menu_layout_node_get_type (child) == MENU_LAYOUT_NODE_MENU)
+ matemenu_tree_strip_duplicate_children (tree, child);
+
+ child = menu_layout_node_get_next (child);
+ }
+}
+
+static MenuLayoutNode *
+find_submenu (MenuLayoutNode *layout,
+ const char *path,
+ gboolean create_if_not_found)
+{
+ MenuLayoutNode *child;
+ const char *slash;
+ const char *next_path;
+ char *name;
+
+ menu_verbose (" (splitting \"%s\")\n", path);
+
+ if (path[0] == '\0' || path[0] == G_DIR_SEPARATOR)
+ return NULL;
+
+ slash = strchr (path, G_DIR_SEPARATOR);
+ if (slash != NULL)
+ {
+ name = g_strndup (path, slash - path);
+ next_path = slash + 1;
+ if (*next_path == '\0')
+ next_path = NULL;
+ }
+ else
+ {
+ name = g_strdup (path);
+ next_path = NULL;
+ }
+
+ child = menu_layout_node_get_children (layout);
+ while (child != NULL)
+ {
+ switch (menu_layout_node_get_type (child))
+ {
+ case MENU_LAYOUT_NODE_MENU:
+ {
+ if (strcmp (name, menu_layout_node_menu_get_name (child)) == 0)
+ {
+ menu_verbose ("MenuNode %p found for path component \"%s\"\n",
+ child, name);
+
+ g_free (name);
+
+ if (!next_path)
+ {
+ menu_verbose (" Found menu node %p parent is %p\n",
+ child, layout);
+ return child;
+ }
+
+ return find_submenu (child, next_path, create_if_not_found);
+ }
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ child = menu_layout_node_get_next (child);
+ }
+
+ if (create_if_not_found)
+ {
+ MenuLayoutNode *name_node;
+
+ child = menu_layout_node_new (MENU_LAYOUT_NODE_MENU);
+ menu_layout_node_append_child (layout, child);
+
+ name_node = menu_layout_node_new (MENU_LAYOUT_NODE_NAME);
+ menu_layout_node_set_content (name_node, name);
+ menu_layout_node_append_child (child, name_node);
+ menu_layout_node_unref (name_node);
+
+ menu_verbose (" Created menu node %p parent is %p\n",
+ child, layout);
+
+ menu_layout_node_unref (child);
+ g_free (name);
+
+ if (!next_path)
+ return child;
+
+ return find_submenu (child, next_path, create_if_not_found);
+ }
+ else
+ {
+ g_free (name);
+ return NULL;
+ }
+}
+
+/* To call this you first have to strip duplicate children once,
+ * otherwise when you move a menu Foo to Bar then you may only
+ * move one of Foo, not all the merged Foo.
+ */
+static void
+matemenu_tree_execute_moves (MateMenuTree *tree,
+ MenuLayoutNode *layout,
+ gboolean *need_remove_dups_p)
+{
+ MenuLayoutNode *child;
+ gboolean need_remove_dups;
+ GSList *move_nodes;
+ GSList *tmp;
+
+ need_remove_dups = FALSE;
+
+ move_nodes = NULL;
+
+ child = menu_layout_node_get_children (layout);
+ while (child != NULL)
+ {
+ switch (menu_layout_node_get_type (child))
+ {
+ case MENU_LAYOUT_NODE_MENU:
+ /* Recurse - we recurse first and process the current node
+ * second, as the spec dictates.
+ */
+ matemenu_tree_execute_moves (tree, child, &need_remove_dups);
+ break;
+
+ case MENU_LAYOUT_NODE_MOVE:
+ move_nodes = g_slist_prepend (move_nodes, child);
+ break;
+
+ default:
+ break;
+ }
+
+ child = menu_layout_node_get_next (child);
+ }
+
+ /* We need to execute the move operations in the order that they appear */
+ move_nodes = g_slist_reverse (move_nodes);
+
+ tmp = move_nodes;
+ while (tmp != NULL)
+ {
+ MenuLayoutNode *move_node = tmp->data;
+ MenuLayoutNode *old_node;
+ GSList *next = tmp->next;
+ const char *old;
+ const char *new;
+
+ old = menu_layout_node_move_get_old (move_node);
+ new = menu_layout_node_move_get_new (move_node);
+ g_assert (old != NULL && new != NULL);
+
+ menu_verbose ("executing <Move> old = \"%s\" new = \"%s\"\n",
+ old, new);
+
+ old_node = find_submenu (layout, old, FALSE);
+ if (old_node != NULL)
+ {
+ MenuLayoutNode *new_node;
+
+ /* here we can create duplicates anywhere below the
+ * node
+ */
+ need_remove_dups = TRUE;
+
+ /* look up new node creating it and its parents if
+ * required
+ */
+ new_node = find_submenu (layout, new, TRUE);
+ g_assert (new_node != NULL);
+
+ move_children (old_node, new_node);
+
+ menu_layout_node_unlink (old_node);
+ }
+
+ menu_layout_node_unlink (move_node);
+
+ tmp = next;
+ }
+
+ g_slist_free (move_nodes);
+
+ /* This oddness is to ensure we only remove dups once,
+ * at the root, instead of recursing the tree over
+ * and over.
+ */
+ if (need_remove_dups_p)
+ *need_remove_dups_p = need_remove_dups;
+ else if (need_remove_dups)
+ matemenu_tree_strip_duplicate_children (tree, layout);
+}
+
+static void
+matemenu_tree_load_layout (MateMenuTree *tree)
+{
+ GHashTable *loaded_menu_files;
+ GError *error;
+
+ if (tree->layout)
+ return;
+
+ if (!matemenu_tree_canonicalize_path (tree))
+ return;
+
+ menu_verbose ("Loading menu layout from \"%s\"\n",
+ tree->canonical_path);
+
+ error = NULL;
+ tree->layout = menu_layout_load (tree->canonical_path,
+ tree->type == MATEMENU_TREE_BASENAME ?
+ tree->basename : NULL,
+ &error);
+ if (tree->layout == NULL)
+ {
+ g_warning ("Error loading menu layout from \"%s\": %s",
+ tree->canonical_path, error->message);
+ g_error_free (error);
+ return;
+ }
+
+ loaded_menu_files = g_hash_table_new (g_str_hash, g_str_equal);
+ g_hash_table_insert (loaded_menu_files, tree->canonical_path, GUINT_TO_POINTER (TRUE));
+ matemenu_tree_resolve_files (tree, loaded_menu_files, tree->layout);
+ g_hash_table_destroy (loaded_menu_files);
+
+ matemenu_tree_strip_duplicate_children (tree, tree->layout);
+ matemenu_tree_execute_moves (tree, tree->layout, NULL);
+}
+
+static void
+matemenu_tree_force_reload (MateMenuTree *tree)
+{
+ matemenu_tree_force_rebuild (tree);
+
+ if (tree->layout)
+ menu_layout_node_unref (tree->layout);
+ tree->layout = NULL;
+}
+
+typedef struct
+{
+ DesktopEntrySet *set;
+ const char *category;
+} GetByCategoryForeachData;
+
+static void
+get_by_category_foreach (const char *file_id,
+ DesktopEntry *entry,
+ GetByCategoryForeachData *data)
+{
+ if (desktop_entry_has_category (entry, data->category))
+ desktop_entry_set_add_entry (data->set, entry, file_id);
+}
+
+static void
+get_by_category (DesktopEntrySet *entry_pool,
+ DesktopEntrySet *set,
+ const char *category)
+{
+ GetByCategoryForeachData data;
+
+ data.set = set;
+ data.category = category;
+
+ desktop_entry_set_foreach (entry_pool,
+ (DesktopEntrySetForeachFunc) get_by_category_foreach,
+ &data);
+}
+
+static DesktopEntrySet *
+process_include_rules (MenuLayoutNode *layout,
+ DesktopEntrySet *entry_pool)
+{
+ DesktopEntrySet *set = NULL;
+
+ switch (menu_layout_node_get_type (layout))
+ {
+ case MENU_LAYOUT_NODE_AND:
+ {
+ MenuLayoutNode *child;
+
+ menu_verbose ("Processing <And>\n");
+
+ child = menu_layout_node_get_children (layout);
+ while (child != NULL)
+ {
+ DesktopEntrySet *child_set;
+
+ child_set = process_include_rules (child, entry_pool);
+
+ if (set == NULL)
+ {
+ set = child_set;
+ }
+ else
+ {
+ desktop_entry_set_intersection (set, child_set);
+ desktop_entry_set_unref (child_set);
+ }
+
+ /* as soon as we get empty results, we can bail,
+ * because it's an AND
+ */
+ if (desktop_entry_set_get_count (set) == 0)
+ break;
+
+ child = menu_layout_node_get_next (child);
+ }
+ menu_verbose ("Processed <And>\n");
+ }
+ break;
+
+ case MENU_LAYOUT_NODE_OR:
+ {
+ MenuLayoutNode *child;
+
+ menu_verbose ("Processing <Or>\n");
+
+ child = menu_layout_node_get_children (layout);
+ while (child != NULL)
+ {
+ DesktopEntrySet *child_set;
+
+ child_set = process_include_rules (child, entry_pool);
+
+ if (set == NULL)
+ {
+ set = child_set;
+ }
+ else
+ {
+ desktop_entry_set_union (set, child_set);
+ desktop_entry_set_unref (child_set);
+ }
+
+ child = menu_layout_node_get_next (child);
+ }
+ menu_verbose ("Processed <Or>\n");
+ }
+ break;
+
+ case MENU_LAYOUT_NODE_NOT:
+ {
+ /* First get the OR of all the rules */
+ MenuLayoutNode *child;
+
+ menu_verbose ("Processing <Not>\n");
+
+ child = menu_layout_node_get_children (layout);
+ while (child != NULL)
+ {
+ DesktopEntrySet *child_set;
+
+ child_set = process_include_rules (child, entry_pool);
+
+ if (set == NULL)
+ {
+ set = child_set;
+ }
+ else
+ {
+ desktop_entry_set_union (set, child_set);
+ desktop_entry_set_unref (child_set);
+ }
+
+ child = menu_layout_node_get_next (child);
+ }
+
+ if (set != NULL)
+ {
+ DesktopEntrySet *inverted;
+
+ /* Now invert the result */
+ inverted = desktop_entry_set_new ();
+ desktop_entry_set_union (inverted, entry_pool);
+ desktop_entry_set_subtract (inverted, set);
+ desktop_entry_set_unref (set);
+ set = inverted;
+ }
+ menu_verbose ("Processed <Not>\n");
+ }
+ break;
+
+ case MENU_LAYOUT_NODE_ALL:
+ menu_verbose ("Processing <All>\n");
+ set = desktop_entry_set_new ();
+ desktop_entry_set_union (set, entry_pool);
+ menu_verbose ("Processed <All>\n");
+ break;
+
+ case MENU_LAYOUT_NODE_FILENAME:
+ {
+ DesktopEntry *entry;
+
+ menu_verbose ("Processing <Filename>%s</Filename>\n",
+ menu_layout_node_get_content (layout));
+
+ entry = desktop_entry_set_lookup (entry_pool,
+ menu_layout_node_get_content (layout));
+ if (entry != NULL)
+ {
+ set = desktop_entry_set_new ();
+ desktop_entry_set_add_entry (set,
+ entry,
+ menu_layout_node_get_content (layout));
+ }
+ menu_verbose ("Processed <Filename>%s</Filename>\n",
+ menu_layout_node_get_content (layout));
+ }
+ break;
+
+ case MENU_LAYOUT_NODE_CATEGORY:
+ menu_verbose ("Processing <Category>%s</Category>\n",
+ menu_layout_node_get_content (layout));
+ set = desktop_entry_set_new ();
+ get_by_category (entry_pool, set, menu_layout_node_get_content (layout));
+ menu_verbose ("Processed <Category>%s</Category>\n",
+ menu_layout_node_get_content (layout));
+ break;
+
+ default:
+ break;
+ }
+
+ if (set == NULL)
+ set = desktop_entry_set_new (); /* create an empty set */
+
+ menu_verbose ("Matched %d entries\n", desktop_entry_set_get_count (set));
+
+ return set;
+}
+
+static void
+collect_layout_info (MenuLayoutNode *layout,
+ GSList **layout_info)
+{
+ MenuLayoutNode *iter;
+
+ g_slist_foreach (*layout_info,
+ (GFunc) menu_layout_node_unref,
+ NULL);
+ g_slist_free (*layout_info);
+ *layout_info = NULL;
+
+ iter = menu_layout_node_get_children (layout);
+ while (iter != NULL)
+ {
+ switch (menu_layout_node_get_type (iter))
+ {
+ case MENU_LAYOUT_NODE_MENUNAME:
+ case MENU_LAYOUT_NODE_FILENAME:
+ case MENU_LAYOUT_NODE_SEPARATOR:
+ case MENU_LAYOUT_NODE_MERGE:
+ *layout_info = g_slist_prepend (*layout_info,
+ menu_layout_node_ref (iter));
+ break;
+
+ default:
+ break;
+ }
+
+ iter = menu_layout_node_get_next (iter);
+ }
+
+ *layout_info = g_slist_reverse (*layout_info);
+}
+
+static void
+entries_listify_foreach (const char *desktop_file_id,
+ DesktopEntry *desktop_entry,
+ MateMenuTreeDirectory *directory)
+{
+ directory->entries =
+ g_slist_prepend (directory->entries,
+ matemenu_tree_entry_new (directory,
+ desktop_entry,
+ desktop_file_id,
+ FALSE,
+ desktop_entry_get_no_display (desktop_entry)));
+}
+
+static void
+excluded_entries_listify_foreach (const char *desktop_file_id,
+ DesktopEntry *desktop_entry,
+ MateMenuTreeDirectory *directory)
+{
+ directory->entries =
+ g_slist_prepend (directory->entries,
+ matemenu_tree_entry_new (directory,
+ desktop_entry,
+ desktop_file_id,
+ TRUE,
+ desktop_entry_get_no_display (desktop_entry)));
+}
+
+static void
+set_default_layout_values (MateMenuTreeDirectory *parent,
+ MateMenuTreeDirectory *child)
+{
+ GSList *tmp;
+
+ /* if the child has a defined default layout, we don't want to override its
+ * values. The parent might have a non-defined layout info (ie, no child of
+ * the DefaultLayout node) but it doesn't meant the default layout values
+ * (ie, DefaultLayout attributes) aren't different from the global defaults.
+ */
+ if (child->default_layout_info != NULL ||
+ child->default_layout_values.mask != MENU_LAYOUT_VALUES_NONE)
+ return;
+
+ child->default_layout_values = parent->default_layout_values;
+
+ tmp = child->subdirs;
+ while (tmp != NULL)
+ {
+ MateMenuTreeDirectory *subdir = tmp->data;
+
+ set_default_layout_values (child, subdir);
+
+ tmp = tmp->next;
+ }
+}
+
+static MateMenuTreeDirectory *
+process_layout (MateMenuTree *tree,
+ MateMenuTreeDirectory *parent,
+ MenuLayoutNode *layout,
+ DesktopEntrySet *allocated)
+{
+ MenuLayoutNode *layout_iter;
+ MateMenuTreeDirectory *directory;
+ DesktopEntrySet *entry_pool;
+ DesktopEntrySet *entries;
+ DesktopEntrySet *allocated_set;
+ DesktopEntrySet *excluded_set;
+ gboolean deleted;
+ gboolean only_unallocated;
+ GSList *tmp;
+
+ g_assert (menu_layout_node_get_type (layout) == MENU_LAYOUT_NODE_MENU);
+ g_assert (menu_layout_node_menu_get_name (layout) != NULL);
+
+ directory = matemenu_tree_directory_new (parent,
+ menu_layout_node_menu_get_name (layout),
+ parent == NULL);
+
+ menu_verbose ("=== Menu name = %s ===\n", directory->name);
+
+
+ deleted = FALSE;
+ only_unallocated = FALSE;
+
+ entries = desktop_entry_set_new ();
+ allocated_set = desktop_entry_set_new ();
+
+ if (tree->flags & MATEMENU_TREE_FLAGS_INCLUDE_EXCLUDED)
+ excluded_set = desktop_entry_set_new ();
+ else
+ excluded_set = NULL;
+
+ entry_pool = _entry_directory_list_get_all_desktops (menu_layout_node_menu_get_app_dirs (layout));
+
+ layout_iter = menu_layout_node_get_children (layout);
+ while (layout_iter != NULL)
+ {
+ switch (menu_layout_node_get_type (layout_iter))
+ {
+ case MENU_LAYOUT_NODE_MENU:
+ /* recurse */
+ {
+ MateMenuTreeDirectory *child_dir;
+
+ menu_verbose ("Processing <Menu>\n");
+
+ child_dir = process_layout (tree,
+ directory,
+ layout_iter,
+ allocated);
+ if (child_dir)
+ directory->subdirs = g_slist_prepend (directory->subdirs,
+ child_dir);
+
+ menu_verbose ("Processed <Menu>\n");
+ }
+ break;
+
+ case MENU_LAYOUT_NODE_INCLUDE:
+ {
+ /* The match rule children of the <Include> are
+ * independent (logical OR) so we can process each one by
+ * itself
+ */
+ MenuLayoutNode *rule;
+
+ menu_verbose ("Processing <Include> (%d entries)\n",
+ desktop_entry_set_get_count (entries));
+
+ rule = menu_layout_node_get_children (layout_iter);
+ while (rule != NULL)
+ {
+ DesktopEntrySet *rule_set;
+
+ rule_set = process_include_rules (rule, entry_pool);
+ if (rule_set != NULL)
+ {
+ desktop_entry_set_union (entries, rule_set);
+ desktop_entry_set_union (allocated_set, rule_set);
+ if (excluded_set != NULL)
+ desktop_entry_set_subtract (excluded_set, rule_set);
+ desktop_entry_set_unref (rule_set);
+ }
+
+ rule = menu_layout_node_get_next (rule);
+ }
+
+ menu_verbose ("Processed <Include> (%d entries)\n",
+ desktop_entry_set_get_count (entries));
+ }
+ break;
+
+ case MENU_LAYOUT_NODE_EXCLUDE:
+ {
+ /* The match rule children of the <Exclude> are
+ * independent (logical OR) so we can process each one by
+ * itself
+ */
+ MenuLayoutNode *rule;
+
+ menu_verbose ("Processing <Exclude> (%d entries)\n",
+ desktop_entry_set_get_count (entries));
+
+ rule = menu_layout_node_get_children (layout_iter);
+ while (rule != NULL)
+ {
+ DesktopEntrySet *rule_set;
+
+ rule_set = process_include_rules (rule, entry_pool);
+ if (rule_set != NULL)
+ {
+ if (excluded_set != NULL)
+ desktop_entry_set_union (excluded_set, rule_set);
+ desktop_entry_set_subtract (entries, rule_set);
+ desktop_entry_set_unref (rule_set);
+ }
+
+ rule = menu_layout_node_get_next (rule);
+ }
+
+ menu_verbose ("Processed <Exclude> (%d entries)\n",
+ desktop_entry_set_get_count (entries));
+ }
+ break;
+
+ case MENU_LAYOUT_NODE_DIRECTORY:
+ {
+ DesktopEntry *entry;
+
+ menu_verbose ("Processing <Directory>%s</Directory>\n",
+ menu_layout_node_get_content (layout_iter));
+
+ /*
+ * The last <Directory> to exist wins, so we always try overwriting
+ */
+ entry = entry_directory_list_get_directory (menu_layout_node_menu_get_directory_dirs (layout),
+ menu_layout_node_get_content (layout_iter));
+
+ if (entry != NULL)
+ {
+ if (!desktop_entry_get_hidden (entry))
+ {
+ if (directory->directory_entry)
+ desktop_entry_unref (directory->directory_entry);
+ directory->directory_entry = entry; /* pass ref ownership */
+ }
+ else
+ {
+ desktop_entry_unref (entry);
+ }
+ }
+
+ menu_verbose ("Processed <Directory> new directory entry = %p (%s)\n",
+ directory->directory_entry,
+ directory->directory_entry? desktop_entry_get_path (directory->directory_entry) : "null");
+ }
+ break;
+
+ case MENU_LAYOUT_NODE_DELETED:
+ menu_verbose ("Processed <Deleted/>\n");
+ deleted = TRUE;
+ break;
+
+ case MENU_LAYOUT_NODE_NOT_DELETED:
+ menu_verbose ("Processed <NotDeleted/>\n");
+ deleted = FALSE;
+ break;
+
+ case MENU_LAYOUT_NODE_ONLY_UNALLOCATED:
+ menu_verbose ("Processed <OnlyUnallocated/>\n");
+ only_unallocated = TRUE;
+ break;
+
+ case MENU_LAYOUT_NODE_NOT_ONLY_UNALLOCATED:
+ menu_verbose ("Processed <NotOnlyUnallocated/>\n");
+ only_unallocated = FALSE;
+ break;
+
+ case MENU_LAYOUT_NODE_DEFAULT_LAYOUT:
+ menu_layout_node_default_layout_get_values (layout_iter,
+ &directory->default_layout_values);
+ collect_layout_info (layout_iter, &directory->default_layout_info);
+ menu_verbose ("Processed <DefaultLayout/>\n");
+ break;
+
+ case MENU_LAYOUT_NODE_LAYOUT:
+ collect_layout_info (layout_iter, &directory->layout_info);
+ menu_verbose ("Processed <Layout/>\n");
+ break;
+
+ default:
+ break;
+ }
+
+ layout_iter = menu_layout_node_get_next (layout_iter);
+ }
+
+ desktop_entry_set_unref (entry_pool);
+
+ directory->only_unallocated = only_unallocated;
+
+ if (!directory->only_unallocated)
+ desktop_entry_set_union (allocated, allocated_set);
+
+ desktop_entry_set_unref (allocated_set);
+
+ if (directory->directory_entry)
+ {
+ if (desktop_entry_get_no_display (directory->directory_entry))
+ {
+ directory->is_nodisplay = TRUE;
+
+ if (!(tree->flags & MATEMENU_TREE_FLAGS_INCLUDE_NODISPLAY))
+ {
+ menu_verbose ("Not showing menu %s because NoDisplay=true\n",
+ desktop_entry_get_name (directory->directory_entry));
+ deleted = TRUE;
+ }
+ }
+
+ if (!desktop_entry_get_show_in_mate (directory->directory_entry))
+ {
+ menu_verbose ("Not showing menu %s because OnlyShowIn!=MATE or NotShowIn=MATE\n",
+ desktop_entry_get_name (directory->directory_entry));
+ deleted = TRUE;
+ }
+ }
+
+ if (deleted)
+ {
+ if (excluded_set != NULL)
+ desktop_entry_set_unref (excluded_set);
+ desktop_entry_set_unref (entries);
+ matemenu_tree_item_unref (directory);
+ return NULL;
+ }
+
+ desktop_entry_set_foreach (entries,
+ (DesktopEntrySetForeachFunc) entries_listify_foreach,
+ directory);
+ desktop_entry_set_unref (entries);
+
+ if (excluded_set != NULL)
+ {
+ desktop_entry_set_foreach (excluded_set,
+ (DesktopEntrySetForeachFunc) excluded_entries_listify_foreach,
+ directory);
+ desktop_entry_set_unref (excluded_set);
+ }
+
+ tmp = directory->subdirs;
+ while (tmp != NULL)
+ {
+ MateMenuTreeDirectory *subdir = tmp->data;
+
+ set_default_layout_values (directory, subdir);
+
+ tmp = tmp->next;
+ }
+
+ tmp = directory->entries;
+ while (tmp != NULL)
+ {
+ MateMenuTreeEntry *entry = tmp->data;
+ GSList *next = tmp->next;
+ gboolean delete = FALSE;
+
+ if (desktop_entry_get_hidden (entry->desktop_entry))
+ {
+ menu_verbose ("Deleting %s because Hidden=true\n",
+ desktop_entry_get_name (entry->desktop_entry));
+ delete = TRUE;
+ }
+
+ if (!(tree->flags & MATEMENU_TREE_FLAGS_INCLUDE_NODISPLAY) &&
+ desktop_entry_get_no_display (entry->desktop_entry))
+ {
+ menu_verbose ("Deleting %s because NoDisplay=true\n",
+ desktop_entry_get_name (entry->desktop_entry));
+ delete = TRUE;
+ }
+
+ if (!desktop_entry_get_show_in_mate (entry->desktop_entry))
+ {
+ menu_verbose ("Deleting %s because OnlyShowIn!=MATE or NotShowIn=MATE\n",
+ desktop_entry_get_name (entry->desktop_entry));
+ delete = TRUE;
+ }
+
+ if (desktop_entry_get_tryexec_failed (entry->desktop_entry))
+ {
+ menu_verbose ("Deleting %s because TryExec failed\n",
+ desktop_entry_get_name (entry->desktop_entry));
+ delete = TRUE;
+ }
+
+ if (delete)
+ {
+ directory->entries = g_slist_delete_link (directory->entries,
+ tmp);
+ matemenu_tree_item_unref_and_unset_parent (entry);
+ }
+
+ tmp = next;
+ }
+
+ g_assert (directory->name != NULL);
+
+ return directory;
+}
+
+static void
+process_only_unallocated (MateMenuTree *tree,
+ MateMenuTreeDirectory *directory,
+ DesktopEntrySet *allocated)
+{
+ GSList *tmp;
+
+ /* For any directory marked only_unallocated, we have to remove any
+ * entries that were in fact allocated.
+ */
+
+ if (directory->only_unallocated)
+ {
+ tmp = directory->entries;
+ while (tmp != NULL)
+ {
+ MateMenuTreeEntry *entry = tmp->data;
+ GSList *next = tmp->next;
+
+ if (desktop_entry_set_lookup (allocated, entry->desktop_file_id))
+ {
+ directory->entries = g_slist_delete_link (directory->entries,
+ tmp);
+ matemenu_tree_item_unref_and_unset_parent (entry);
+ }
+
+ tmp = next;
+ }
+ }
+
+ tmp = directory->subdirs;
+ while (tmp != NULL)
+ {
+ MateMenuTreeDirectory *subdir = tmp->data;
+
+ process_only_unallocated (tree, subdir, allocated);
+
+ tmp = tmp->next;
+ }
+}
+
+static void preprocess_layout_info (MateMenuTree *tree,
+ MateMenuTreeDirectory *directory);
+
+static GSList *
+get_layout_info (MateMenuTreeDirectory *directory,
+ gboolean *is_default_layout)
+{
+ MateMenuTreeDirectory *iter;
+
+ if (directory->layout_info != NULL)
+ {
+ if (is_default_layout)
+ {
+ *is_default_layout = FALSE;
+ }
+ return directory->layout_info;
+ }
+
+ /* Even if there's no layout information at all, the result will be an
+ * implicit default layout */
+ if (is_default_layout)
+ {
+ *is_default_layout = TRUE;
+ }
+
+ iter = directory;
+ while (iter != NULL)
+ {
+ /* FIXME: this is broken: we might skip real parent in the
+ * XML structure, that are hidden because of inlining. */
+ if (iter->default_layout_info != NULL)
+ {
+ return iter->default_layout_info;
+ }
+
+ iter = MATEMENU_TREE_ITEM (iter)->parent;
+ }
+
+ return NULL;
+}
+
+static void
+get_values_with_defaults (MenuLayoutNode *node,
+ MenuLayoutValues *layout_values,
+ MenuLayoutValues *default_layout_values)
+{
+ menu_layout_node_menuname_get_values (node, layout_values);
+
+ if (!(layout_values->mask & MENU_LAYOUT_VALUES_SHOW_EMPTY))
+ layout_values->show_empty = default_layout_values->show_empty;
+
+ if (!(layout_values->mask & MENU_LAYOUT_VALUES_INLINE_MENUS))
+ layout_values->inline_menus = default_layout_values->inline_menus;
+
+ if (!(layout_values->mask & MENU_LAYOUT_VALUES_INLINE_LIMIT))
+ layout_values->inline_limit = default_layout_values->inline_limit;
+
+ if (!(layout_values->mask & MENU_LAYOUT_VALUES_INLINE_HEADER))
+ layout_values->inline_header = default_layout_values->inline_header;
+
+ if (!(layout_values->mask & MENU_LAYOUT_VALUES_INLINE_ALIAS))
+ layout_values->inline_alias = default_layout_values->inline_alias;
+}
+
+static guint
+get_real_subdirs_len (MateMenuTreeDirectory *directory)
+{
+ guint len;
+ GSList *tmp;
+
+ len = 0;
+
+ tmp = directory->subdirs;
+ while (tmp != NULL)
+ {
+ MateMenuTreeDirectory *subdir = tmp->data;
+
+ tmp = tmp->next;
+
+ if (subdir->will_inline_header != G_MAXUINT16)
+ {
+ len += get_real_subdirs_len (subdir) + g_slist_length (subdir->entries) + 1;
+ }
+ else
+ len += 1;
+ }
+
+ return len;
+}
+
+static void
+preprocess_layout_info_subdir_helper (MateMenuTree *tree,
+ MateMenuTreeDirectory *directory,
+ MateMenuTreeDirectory *subdir,
+ MenuLayoutValues *layout_values,
+ gboolean *contents_added,
+ gboolean *should_remove)
+{
+ preprocess_layout_info (tree, subdir);
+
+ *should_remove = FALSE;
+ *contents_added = FALSE;
+
+ if (subdir->subdirs == NULL && subdir->entries == NULL)
+ {
+ if (!(tree->flags & MATEMENU_TREE_FLAGS_SHOW_EMPTY) &&
+ !layout_values->show_empty)
+ {
+ menu_verbose ("Not showing empty menu '%s'\n", subdir->name);
+ *should_remove = TRUE;
+ }
+ }
+
+ else if (layout_values->inline_menus)
+ {
+ guint real_subdirs_len;
+
+ real_subdirs_len = get_real_subdirs_len (subdir);
+
+ if (layout_values->inline_alias &&
+ real_subdirs_len + g_slist_length (subdir->entries) == 1)
+ {
+ MateMenuTreeAlias *alias;
+ MateMenuTreeItem *item;
+ GSList *list;
+
+ if (subdir->subdirs != NULL)
+ list = subdir->subdirs;
+ else
+ list = subdir->entries;
+
+ item = MATEMENU_TREE_ITEM (list->data);
+
+ menu_verbose ("Inline aliasing '%s' to '%s'\n",
+ item->type == MATEMENU_TREE_ITEM_ENTRY ?
+ matemenu_tree_entry_get_name (MATEMENU_TREE_ENTRY (item)) :
+ (item->type == MATEMENU_TREE_ITEM_DIRECTORY ?
+ matemenu_tree_directory_get_name (MATEMENU_TREE_DIRECTORY (item)) :
+ matemenu_tree_directory_get_name (MATEMENU_TREE_ALIAS (item)->directory)),
+ subdir->name);
+
+ alias = matemenu_tree_alias_new (directory, subdir, item);
+
+ g_slist_foreach (list,
+ (GFunc) matemenu_tree_item_unref_and_unset_parent,
+ NULL);
+ g_slist_free (list);
+ subdir->subdirs = NULL;
+ subdir->entries = NULL;
+
+ if (item->type == MATEMENU_TREE_ITEM_DIRECTORY)
+ directory->subdirs = g_slist_append (directory->subdirs, alias);
+ else
+ directory->entries = g_slist_append (directory->entries, alias);
+
+ *contents_added = TRUE;
+ *should_remove = TRUE;
+ }
+
+ else if (layout_values->inline_limit == 0 ||
+ layout_values->inline_limit >= real_subdirs_len + g_slist_length (subdir->entries))
+ {
+ if (layout_values->inline_header)
+ {
+ menu_verbose ("Creating inline header with name '%s'\n", subdir->name);
+ /* we're limited to 16-bits to spare some memory; if the limit is
+ * higher than that (would be crazy), we just consider it's
+ * unlimited */
+ if (layout_values->inline_limit < G_MAXUINT16)
+ subdir->will_inline_header = layout_values->inline_limit;
+ else
+ subdir->will_inline_header = 0;
+ }
+ else
+ {
+ g_slist_foreach (subdir->subdirs,
+ (GFunc) matemenu_tree_item_set_parent,
+ directory);
+ directory->subdirs = g_slist_concat (directory->subdirs,
+ subdir->subdirs);
+ subdir->subdirs = NULL;
+
+ g_slist_foreach (subdir->entries,
+ (GFunc) matemenu_tree_item_set_parent,
+ directory);
+ directory->entries = g_slist_concat (directory->entries,
+ subdir->entries);
+ subdir->entries = NULL;
+
+ *contents_added = TRUE;
+ *should_remove = TRUE;
+ }
+
+ menu_verbose ("Inlining directory contents of '%s' to '%s'\n",
+ subdir->name, directory->name);
+ }
+ }
+}
+
+static void
+preprocess_layout_info (MateMenuTree *tree,
+ MateMenuTreeDirectory *directory)
+{
+ GSList *tmp;
+ GSList *layout_info;
+ gboolean using_default_layout;
+ GSList *last_subdir;
+ gboolean strip_duplicates;
+ gboolean contents_added;
+ gboolean should_remove;
+ GSList *subdirs_sentinel;
+
+ /* Note: we need to preprocess all menus, even if the layout mask for a menu
+ * is MENU_LAYOUT_VALUES_NONE: in this case, we need to remove empty menus;
+ * and the layout mask can be different for a submenu anyway */
+
+ menu_verbose ("Processing menu layout inline hints for %s\n", directory->name);
+ g_assert (!directory->preprocessed);
+
+ strip_duplicates = FALSE;
+ /* we use last_subdir to track the last non-inlined subdirectory */
+ last_subdir = g_slist_last (directory->subdirs);
+
+ /*
+ * First process subdirectories with explicit layout
+ */
+ layout_info = get_layout_info (directory, &using_default_layout);
+ tmp = layout_info;
+ /* see comment below about Menuname to understand why we leave the loop if
+ * last_subdir is NULL */
+ while (tmp != NULL && last_subdir != NULL)
+ {
+ MenuLayoutNode *node = tmp->data;
+ MenuLayoutValues layout_values;
+ const char *name;
+ MateMenuTreeDirectory *subdir;
+ GSList *subdir_l;
+
+ tmp = tmp->next;
+
+ /* only Menuname nodes are relevant here */
+ if (menu_layout_node_get_type (node) != MENU_LAYOUT_NODE_MENUNAME)
+ continue;
+
+ get_values_with_defaults (node,
+ &layout_values,
+ &directory->default_layout_values);
+
+ /* find the subdirectory that is affected by those attributes */
+ name = menu_layout_node_get_content (node);
+ subdir = NULL;
+ subdir_l = directory->subdirs;
+ while (subdir_l != NULL)
+ {
+ subdir = subdir_l->data;
+
+ if (!strcmp (subdir->name, name))
+ break;
+
+ subdir = NULL;
+ subdir_l = subdir_l->next;
+
+ /* We do not want to use Menuname on a menu that appeared via
+ * inlining: without inlining, the Menuname wouldn't have matched
+ * anything, and we want to keep the same behavior.
+ * Unless the layout is a default layout, in which case the Menuname
+ * does match the subdirectory. */
+ if (!using_default_layout && subdir_l == last_subdir)
+ {
+ subdir_l = NULL;
+ break;
+ }
+ }
+
+ if (subdir == NULL)
+ continue;
+
+ preprocess_layout_info_subdir_helper (tree, directory,
+ subdir, &layout_values,
+ &contents_added, &should_remove);
+ strip_duplicates = strip_duplicates || contents_added;
+ if (should_remove)
+ {
+ if (last_subdir == subdir_l)
+ {
+ /* we need to recompute last_subdir since we'll remove it from
+ * the list */
+ GSList *buf;
+
+ if (subdir_l == directory->subdirs)
+ last_subdir = NULL;
+ else
+ {
+ buf = directory->subdirs;
+ while (buf != NULL && buf->next != subdir_l)
+ buf = buf->next;
+ last_subdir = buf;
+ }
+ }
+
+ directory->subdirs = g_slist_remove (directory->subdirs, subdir);
+ matemenu_tree_item_unref_and_unset_parent (MATEMENU_TREE_ITEM (subdir));
+ }
+ }
+
+ /*
+ * Now process the subdirectories with no explicit layout
+ */
+ /* this is bogus data, but we just need the pointer anyway */
+ subdirs_sentinel = g_slist_prepend (directory->subdirs, PACKAGE);
+ directory->subdirs = subdirs_sentinel;
+
+ tmp = directory->subdirs;
+ while (tmp->next != NULL)
+ {
+ MateMenuTreeDirectory *subdir = tmp->next->data;
+
+ if (subdir->preprocessed)
+ {
+ tmp = tmp->next;
+ continue;
+ }
+
+ preprocess_layout_info_subdir_helper (tree, directory,
+ subdir, &directory->default_layout_values,
+ &contents_added, &should_remove);
+ strip_duplicates = strip_duplicates || contents_added;
+ if (should_remove)
+ {
+ tmp = g_slist_delete_link (tmp, tmp->next);
+ matemenu_tree_item_unref_and_unset_parent (MATEMENU_TREE_ITEM (subdir));
+ }
+ else
+ tmp = tmp->next;
+ }
+
+ /* remove the sentinel */
+ directory->subdirs = g_slist_delete_link (directory->subdirs,
+ directory->subdirs);
+
+ /*
+ * Finally, remove duplicates if needed
+ */
+ if (strip_duplicates)
+ {
+ /* strip duplicate entries; there should be no duplicate directories */
+ directory->entries = g_slist_sort (directory->entries,
+ (GCompareFunc) matemenu_tree_entry_compare_by_id);
+ tmp = directory->entries;
+ while (tmp != NULL && tmp->next != NULL)
+ {
+ MateMenuTreeItem *a = tmp->data;
+ MateMenuTreeItem *b = tmp->next->data;
+
+ if (a->type == MATEMENU_TREE_ITEM_ALIAS)
+ a = MATEMENU_TREE_ALIAS (a)->aliased_item;
+
+ if (b->type == MATEMENU_TREE_ITEM_ALIAS)
+ b = MATEMENU_TREE_ALIAS (b)->aliased_item;
+
+ if (strcmp (MATEMENU_TREE_ENTRY (a)->desktop_file_id,
+ MATEMENU_TREE_ENTRY (b)->desktop_file_id) == 0)
+ {
+ tmp = g_slist_delete_link (tmp, tmp->next);
+ matemenu_tree_item_unref (b);
+ }
+ else
+ tmp = tmp->next;
+ }
+ }
+
+ directory->preprocessed = TRUE;
+}
+
+static void process_layout_info (MateMenuTree *tree,
+ MateMenuTreeDirectory *directory);
+
+static void
+check_pending_separator (MateMenuTreeDirectory *directory)
+{
+ if (directory->layout_pending_separator)
+ {
+ menu_verbose ("Adding pending separator in '%s'\n", directory->name);
+
+ directory->contents = g_slist_append (directory->contents,
+ matemenu_tree_separator_new (directory));
+ directory->layout_pending_separator = FALSE;
+ }
+}
+
+static void
+merge_alias (MateMenuTree *tree,
+ MateMenuTreeDirectory *directory,
+ MateMenuTreeAlias *alias)
+{
+ menu_verbose ("Merging alias '%s' in directory '%s'\n",
+ alias->directory->name, directory->name);
+
+ if (alias->aliased_item->type == MATEMENU_TREE_ITEM_DIRECTORY)
+ {
+ process_layout_info (tree, MATEMENU_TREE_DIRECTORY (alias->aliased_item));
+ }
+
+ check_pending_separator (directory);
+
+ directory->contents = g_slist_append (directory->contents,
+ matemenu_tree_item_ref (alias));
+}
+
+static void
+merge_subdir (MateMenuTree *tree,
+ MateMenuTreeDirectory *directory,
+ MateMenuTreeDirectory *subdir)
+{
+ menu_verbose ("Merging subdir '%s' in directory '%s'\n",
+ subdir->name, directory->name);
+
+ process_layout_info (tree, subdir);
+
+ check_pending_separator (directory);
+
+ if (subdir->will_inline_header == 0 ||
+ (subdir->will_inline_header != G_MAXUINT16 &&
+ g_slist_length (subdir->contents) <= subdir->will_inline_header))
+ {
+ MateMenuTreeHeader *header;
+
+ header = matemenu_tree_header_new (directory, subdir);
+ directory->contents = g_slist_append (directory->contents, header);
+
+ g_slist_foreach (subdir->contents,
+ (GFunc) matemenu_tree_item_set_parent,
+ directory);
+ directory->contents = g_slist_concat (directory->contents,
+ subdir->contents);
+ subdir->contents = NULL;
+ subdir->will_inline_header = G_MAXUINT16;
+
+ matemenu_tree_item_set_parent (MATEMENU_TREE_ITEM (subdir), NULL);
+ }
+ else
+ {
+ directory->contents = g_slist_append (directory->contents,
+ matemenu_tree_item_ref (subdir));
+ }
+}
+
+static void
+merge_subdir_by_name (MateMenuTree *tree,
+ MateMenuTreeDirectory *directory,
+ const char *subdir_name)
+{
+ GSList *tmp;
+
+ menu_verbose ("Attempting to merge subdir '%s' in directory '%s'\n",
+ subdir_name, directory->name);
+
+ tmp = directory->subdirs;
+ while (tmp != NULL)
+ {
+ MateMenuTreeDirectory *subdir = tmp->data;
+ GSList *next = tmp->next;
+
+ /* if it's an alias, then it cannot be affected by
+ * the Merge nodes in the layout */
+ if (MATEMENU_TREE_ITEM (subdir)->type == MATEMENU_TREE_ITEM_ALIAS)
+ continue;
+
+ if (!strcmp (subdir->name, subdir_name))
+ {
+ directory->subdirs = g_slist_delete_link (directory->subdirs, tmp);
+ merge_subdir (tree, directory, subdir);
+ matemenu_tree_item_unref (subdir);
+ }
+
+ tmp = next;
+ }
+}
+
+static void
+merge_entry (MateMenuTree *tree,
+ MateMenuTreeDirectory *directory,
+ MateMenuTreeEntry *entry)
+{
+ menu_verbose ("Merging entry '%s' in directory '%s'\n",
+ entry->desktop_file_id, directory->name);
+
+ check_pending_separator (directory);
+ directory->contents = g_slist_append (directory->contents,
+ matemenu_tree_item_ref (entry));
+}
+
+static void
+merge_entry_by_id (MateMenuTree *tree,
+ MateMenuTreeDirectory *directory,
+ const char *file_id)
+{
+ GSList *tmp;
+
+ menu_verbose ("Attempting to merge entry '%s' in directory '%s'\n",
+ file_id, directory->name);
+
+ tmp = directory->entries;
+ while (tmp != NULL)
+ {
+ MateMenuTreeEntry *entry = tmp->data;
+ GSList *next = tmp->next;
+
+ /* if it's an alias, then it cannot be affected by
+ * the Merge nodes in the layout */
+ if (MATEMENU_TREE_ITEM (entry)->type == MATEMENU_TREE_ITEM_ALIAS)
+ continue;
+
+ if (!strcmp (entry->desktop_file_id, file_id))
+ {
+ directory->entries = g_slist_delete_link (directory->entries, tmp);
+ merge_entry (tree, directory, entry);
+ matemenu_tree_item_unref (entry);
+ }
+
+ tmp = next;
+ }
+}
+
+static inline gboolean
+find_name_in_list (const char *name,
+ GSList *list)
+{
+ while (list != NULL)
+ {
+ if (!strcmp (name, list->data))
+ return TRUE;
+
+ list = list->next;
+ }
+
+ return FALSE;
+}
+
+static void
+merge_subdirs (MateMenuTree *tree,
+ MateMenuTreeDirectory *directory,
+ GSList *except)
+{
+ GSList *subdirs;
+ GSList *tmp;
+
+ menu_verbose ("Merging subdirs in directory '%s'\n", directory->name);
+
+ subdirs = directory->subdirs;
+ directory->subdirs = NULL;
+
+ subdirs = g_slist_sort_with_data (subdirs,
+ (GCompareDataFunc) matemenu_tree_item_compare,
+ GINT_TO_POINTER (MATEMENU_TREE_SORT_NAME));
+
+ tmp = subdirs;
+ while (tmp != NULL)
+ {
+ MateMenuTreeDirectory *subdir = tmp->data;
+
+ if (MATEMENU_TREE_ITEM (subdir)->type == MATEMENU_TREE_ITEM_ALIAS)
+ {
+ merge_alias (tree, directory, MATEMENU_TREE_ALIAS (subdir));
+ matemenu_tree_item_unref (subdir);
+ }
+ else if (!find_name_in_list (subdir->name, except))
+ {
+ merge_subdir (tree, directory, subdir);
+ matemenu_tree_item_unref (subdir);
+ }
+ else
+ {
+ menu_verbose ("Not merging directory '%s' yet\n", subdir->name);
+ directory->subdirs = g_slist_append (directory->subdirs, subdir);
+ }
+
+ tmp = tmp->next;
+ }
+
+ g_slist_free (subdirs);
+ g_slist_free (except);
+}
+
+static void
+merge_entries (MateMenuTree *tree,
+ MateMenuTreeDirectory *directory,
+ GSList *except)
+{
+ GSList *entries;
+ GSList *tmp;
+
+ menu_verbose ("Merging entries in directory '%s'\n", directory->name);
+
+ entries = directory->entries;
+ directory->entries = NULL;
+
+ entries = g_slist_sort_with_data (entries,
+ (GCompareDataFunc) matemenu_tree_item_compare,
+ GINT_TO_POINTER (tree->sort_key));
+
+ tmp = entries;
+ while (tmp != NULL)
+ {
+ MateMenuTreeEntry *entry = tmp->data;
+
+ if (MATEMENU_TREE_ITEM (entry)->type == MATEMENU_TREE_ITEM_ALIAS)
+ {
+ merge_alias (tree, directory, MATEMENU_TREE_ALIAS (entry));
+ matemenu_tree_item_unref (entry);
+ }
+ else if (!find_name_in_list (entry->desktop_file_id, except))
+ {
+ merge_entry (tree, directory, entry);
+ matemenu_tree_item_unref (entry);
+ }
+ else
+ {
+ menu_verbose ("Not merging entry '%s' yet\n", entry->desktop_file_id);
+ directory->entries = g_slist_append (directory->entries, entry);
+ }
+
+ tmp = tmp->next;
+ }
+
+ g_slist_free (entries);
+ g_slist_free (except);
+}
+
+static void
+merge_subdirs_and_entries (MateMenuTree *tree,
+ MateMenuTreeDirectory *directory,
+ GSList *except_subdirs,
+ GSList *except_entries)
+{
+ GSList *items;
+ GSList *tmp;
+
+ menu_verbose ("Merging subdirs and entries together in directory %s\n",
+ directory->name);
+
+ items = g_slist_concat (directory->subdirs, directory->entries);
+
+ directory->subdirs = NULL;
+ directory->entries = NULL;
+
+ items = g_slist_sort_with_data (items,
+ (GCompareDataFunc) matemenu_tree_item_compare,
+ GINT_TO_POINTER (tree->sort_key));
+
+ tmp = items;
+ while (tmp != NULL)
+ {
+ MateMenuTreeItem *item = tmp->data;
+ MateMenuTreeItemType type;
+
+ type = matemenu_tree_item_get_type (item);
+
+ if (type == MATEMENU_TREE_ITEM_ALIAS)
+ {
+ merge_alias (tree, directory, MATEMENU_TREE_ALIAS (item));
+ matemenu_tree_item_unref (item);
+ }
+ else if (type == MATEMENU_TREE_ITEM_DIRECTORY)
+ {
+ if (!find_name_in_list (MATEMENU_TREE_DIRECTORY (item)->name, except_subdirs))
+ {
+ merge_subdir (tree,
+ directory,
+ MATEMENU_TREE_DIRECTORY (item));
+ matemenu_tree_item_unref (item);
+ }
+ else
+ {
+ menu_verbose ("Not merging directory '%s' yet\n",
+ MATEMENU_TREE_DIRECTORY (item)->name);
+ directory->subdirs = g_slist_append (directory->subdirs, item);
+ }
+ }
+ else if (type == MATEMENU_TREE_ITEM_ENTRY)
+ {
+ if (!find_name_in_list (MATEMENU_TREE_ENTRY (item)->desktop_file_id, except_entries))
+ {
+ merge_entry (tree, directory, MATEMENU_TREE_ENTRY (item));
+ matemenu_tree_item_unref (item);
+ }
+ else
+ {
+ menu_verbose ("Not merging entry '%s' yet\n",
+ MATEMENU_TREE_ENTRY (item)->desktop_file_id);
+ directory->entries = g_slist_append (directory->entries, item);
+ }
+ }
+ else
+ {
+ g_assert_not_reached ();
+ }
+
+ tmp = tmp->next;
+ }
+
+ g_slist_free (items);
+ g_slist_free (except_subdirs);
+ g_slist_free (except_entries);
+}
+
+static GSList *
+get_subdirs_from_layout_info (GSList *layout_info)
+{
+ GSList *subdirs;
+ GSList *tmp;
+
+ subdirs = NULL;
+
+ tmp = layout_info;
+ while (tmp != NULL)
+ {
+ MenuLayoutNode *node = tmp->data;
+
+ if (menu_layout_node_get_type (node) == MENU_LAYOUT_NODE_MENUNAME)
+ {
+ subdirs = g_slist_append (subdirs,
+ (char *) menu_layout_node_get_content (node));
+ }
+
+ tmp = tmp->next;
+ }
+
+ return subdirs;
+}
+
+static GSList *
+get_entries_from_layout_info (GSList *layout_info)
+{
+ GSList *entries;
+ GSList *tmp;
+
+ entries = NULL;
+
+ tmp = layout_info;
+ while (tmp != NULL)
+ {
+ MenuLayoutNode *node = tmp->data;
+
+ if (menu_layout_node_get_type (node) == MENU_LAYOUT_NODE_FILENAME)
+ {
+ entries = g_slist_append (entries,
+ (char *) menu_layout_node_get_content (node));
+ }
+
+ tmp = tmp->next;
+ }
+
+ return entries;
+}
+
+static void
+process_layout_info (MateMenuTree *tree,
+ MateMenuTreeDirectory *directory)
+{
+ GSList *layout_info;
+
+ menu_verbose ("Processing menu layout hints for %s\n", directory->name);
+
+ g_slist_foreach (directory->contents,
+ (GFunc) matemenu_tree_item_unref_and_unset_parent,
+ NULL);
+ g_slist_free (directory->contents);
+ directory->contents = NULL;
+ directory->layout_pending_separator = FALSE;
+
+ layout_info = get_layout_info (directory, NULL);
+
+ if (layout_info == NULL)
+ {
+ merge_subdirs (tree, directory, NULL);
+ merge_entries (tree, directory, NULL);
+ }
+ else
+ {
+ GSList *tmp;
+
+ tmp = layout_info;
+ while (tmp != NULL)
+ {
+ MenuLayoutNode *node = tmp->data;
+
+ switch (menu_layout_node_get_type (node))
+ {
+ case MENU_LAYOUT_NODE_MENUNAME:
+ merge_subdir_by_name (tree,
+ directory,
+ menu_layout_node_get_content (node));
+ break;
+
+ case MENU_LAYOUT_NODE_FILENAME:
+ merge_entry_by_id (tree,
+ directory,
+ menu_layout_node_get_content (node));
+ break;
+
+ case MENU_LAYOUT_NODE_SEPARATOR:
+ /* Unless explicitly told to show all separators, do not show a
+ * separator at the beginning of a menu. Note that we don't add
+ * the separators now, and instead make it pending. This way, we
+ * won't show two consecutive separators nor will we show a
+ * separator at the end of a menu. */
+ if (tree->flags & MATEMENU_TREE_FLAGS_SHOW_ALL_SEPARATORS)
+ {
+ directory->layout_pending_separator = TRUE;
+ check_pending_separator (directory);
+ }
+ else if (directory->contents)
+ {
+ menu_verbose ("Adding a potential separator in '%s'\n",
+ directory->name);
+
+ directory->layout_pending_separator = TRUE;
+ }
+ else
+ {
+ menu_verbose ("Skipping separator at the beginning of '%s'\n",
+ directory->name);
+ }
+ break;
+
+ case MENU_LAYOUT_NODE_MERGE:
+ switch (menu_layout_node_merge_get_type (node))
+ {
+ case MENU_LAYOUT_MERGE_NONE:
+ break;
+
+ case MENU_LAYOUT_MERGE_MENUS:
+ merge_subdirs (tree,
+ directory,
+ get_subdirs_from_layout_info (tmp->next));
+ break;
+
+ case MENU_LAYOUT_MERGE_FILES:
+ merge_entries (tree,
+ directory,
+ get_entries_from_layout_info (tmp->next));
+ break;
+
+ case MENU_LAYOUT_MERGE_ALL:
+ merge_subdirs_and_entries (tree,
+ directory,
+ get_subdirs_from_layout_info (tmp->next),
+ get_entries_from_layout_info (tmp->next));
+ break;
+
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+ break;
+
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+
+ tmp = tmp->next;
+ }
+ }
+
+ g_slist_foreach (directory->subdirs,
+ (GFunc) matemenu_tree_item_unref,
+ NULL);
+ g_slist_free (directory->subdirs);
+ directory->subdirs = NULL;
+
+ g_slist_foreach (directory->entries,
+ (GFunc) matemenu_tree_item_unref,
+ NULL);
+ g_slist_free (directory->entries);
+ directory->entries = NULL;
+
+ g_slist_foreach (directory->default_layout_info,
+ (GFunc) menu_layout_node_unref,
+ NULL);
+ g_slist_free (directory->default_layout_info);
+ directory->default_layout_info = NULL;
+
+ g_slist_foreach (directory->layout_info,
+ (GFunc) menu_layout_node_unref,
+ NULL);
+ g_slist_free (directory->layout_info);
+ directory->layout_info = NULL;
+}
+
+static void
+handle_entries_changed (MenuLayoutNode *layout,
+ MateMenuTree *tree)
+{
+ if (tree->layout == layout)
+ {
+ matemenu_tree_force_rebuild (tree);
+ matemenu_tree_invoke_monitors (tree);
+ }
+}
+
+static void
+matemenu_tree_build_from_layout (MateMenuTree *tree)
+{
+ DesktopEntrySet *allocated;
+
+ if (tree->root)
+ return;
+
+ matemenu_tree_load_layout (tree);
+ if (!tree->layout)
+ return;
+
+ menu_verbose ("Building menu tree from layout\n");
+
+ allocated = desktop_entry_set_new ();
+
+ /* create the menu structure */
+ tree->root = process_layout (tree,
+ NULL,
+ find_menu_child (tree->layout),
+ allocated);
+ if (tree->root)
+ {
+ matemenu_tree_directory_set_tree (tree->root, tree);
+
+ process_only_unallocated (tree, tree->root, allocated);
+
+ /* process the layout info part that can move/remove items:
+ * inline, show_empty, etc. */
+ preprocess_layout_info (tree, tree->root);
+ /* populate the menu structure that we got with the items, and order it
+ * according to the layout info */
+ process_layout_info (tree, tree->root);
+
+ menu_layout_node_root_add_entries_monitor (tree->layout,
+ (MenuLayoutNodeEntriesChangedFunc) handle_entries_changed,
+ tree);
+ }
+
+ desktop_entry_set_unref (allocated);
+}
+
+static void
+matemenu_tree_force_rebuild (MateMenuTree *tree)
+{
+ if (tree->root)
+ {
+ matemenu_tree_directory_set_tree (tree->root, NULL);
+ matemenu_tree_item_unref (tree->root);
+ tree->root = NULL;
+
+ g_assert (tree->layout != NULL);
+
+ menu_layout_node_root_remove_entries_monitor (tree->layout,
+ (MenuLayoutNodeEntriesChangedFunc) handle_entries_changed,
+ tree);
+ }
+}
diff --git a/libmenu/matemenu-tree.h b/libmenu/matemenu-tree.h
new file mode 100644
index 0000000..d4916a9
--- /dev/null
+++ b/libmenu/matemenu-tree.h
@@ -0,0 +1,135 @@
+/*
+ * Copyright (C) 2004 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __MATEMENU_TREE_H__
+#define __MATEMENU_TREE_H__
+
+#include <glib.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct MateMenuTree MateMenuTree;
+typedef struct MateMenuTreeItem MateMenuTreeItem;
+typedef struct MateMenuTreeDirectory MateMenuTreeDirectory;
+typedef struct MateMenuTreeEntry MateMenuTreeEntry;
+typedef struct MateMenuTreeSeparator MateMenuTreeSeparator;
+typedef struct MateMenuTreeHeader MateMenuTreeHeader;
+typedef struct MateMenuTreeAlias MateMenuTreeAlias;
+
+typedef void (*MateMenuTreeChangedFunc) (MateMenuTree* tree, gpointer user_data);
+
+typedef enum {
+ MATEMENU_TREE_ITEM_INVALID = 0,
+ MATEMENU_TREE_ITEM_DIRECTORY,
+ MATEMENU_TREE_ITEM_ENTRY,
+ MATEMENU_TREE_ITEM_SEPARATOR,
+ MATEMENU_TREE_ITEM_HEADER,
+ MATEMENU_TREE_ITEM_ALIAS
+} MateMenuTreeItemType;
+
+#define MATEMENU_TREE_ITEM(i) ((MateMenuTreeItem*)(i))
+#define MATEMENU_TREE_DIRECTORY(i) ((MateMenuTreeDirectory*)(i))
+#define MATEMENU_TREE_ENTRY(i) ((MateMenuTreeEntry*)(i))
+#define MATEMENU_TREE_SEPARATOR(i) ((MateMenuTreeSeparator*)(i))
+#define MATEMENU_TREE_HEADER(i) ((MateMenuTreeHeader*)(i))
+#define MATEMENU_TREE_ALIAS(i) ((MateMenuTreeAlias*)(i))
+
+typedef enum {
+ MATEMENU_TREE_FLAGS_NONE = 0,
+ MATEMENU_TREE_FLAGS_INCLUDE_EXCLUDED = 1 << 0,
+ MATEMENU_TREE_FLAGS_SHOW_EMPTY = 1 << 1,
+ MATEMENU_TREE_FLAGS_INCLUDE_NODISPLAY = 1 << 2,
+ MATEMENU_TREE_FLAGS_SHOW_ALL_SEPARATORS = 1 << 3,
+ MATEMENU_TREE_FLAGS_MASK = 0x0f
+} MateMenuTreeFlags;
+
+typedef enum {
+ #define MATEMENU_TREE_SORT_FIRST MATEMENU_TREE_SORT_NAME
+ MATEMENU_TREE_SORT_NAME = 0,
+ MATEMENU_TREE_SORT_DISPLAY_NAME
+ #define MATEMENU_TREE_SORT_LAST MATEMENU_TREE_SORT_DISPLAY_NAME
+} MateMenuTreeSortKey;
+
+MateMenuTree* matemenu_tree_lookup(const char* menu_file, MateMenuTreeFlags flags);
+
+MateMenuTree* matemenu_tree_ref(MateMenuTree* tree);
+void matemenu_tree_unref(MateMenuTree* tree);
+
+void matemenu_tree_set_user_data(MateMenuTree* tree, gpointer user_data, GDestroyNotify dnotify);
+gpointer matemenu_tree_get_user_data(MateMenuTree* tree);
+
+const char* matemenu_tree_get_menu_file(MateMenuTree* tree);
+MateMenuTreeDirectory* matemenu_tree_get_root_directory(MateMenuTree* tree);
+MateMenuTreeDirectory* matemenu_tree_get_directory_from_path(MateMenuTree* tree, const char* path);
+
+MateMenuTreeSortKey matemenu_tree_get_sort_key(MateMenuTree* tree);
+void matemenu_tree_set_sort_key(MateMenuTree* tree, MateMenuTreeSortKey sort_key);
+
+
+
+gpointer matemenu_tree_item_ref(gpointer item);
+void matemenu_tree_item_unref(gpointer item);
+
+void matemenu_tree_item_set_user_data(MateMenuTreeItem* item, gpointer user_data, GDestroyNotify dnotify);
+gpointer matemenu_tree_item_get_user_data(MateMenuTreeItem* item);
+
+MateMenuTreeItemType matemenu_tree_item_get_type(MateMenuTreeItem* item);
+MateMenuTreeDirectory* matemenu_tree_item_get_parent(MateMenuTreeItem* item);
+
+
+GSList* matemenu_tree_directory_get_contents(MateMenuTreeDirectory* directory);
+const char* matemenu_tree_directory_get_name(MateMenuTreeDirectory* directory);
+const char* matemenu_tree_directory_get_comment(MateMenuTreeDirectory* directory);
+const char* matemenu_tree_directory_get_icon(MateMenuTreeDirectory* directory);
+const char* matemenu_tree_directory_get_desktop_file_path(MateMenuTreeDirectory* directory);
+const char* matemenu_tree_directory_get_menu_id(MateMenuTreeDirectory* directory);
+MateMenuTree* matemenu_tree_directory_get_tree(MateMenuTreeDirectory* directory);
+
+gboolean matemenu_tree_directory_get_is_nodisplay(MateMenuTreeDirectory* directory);
+
+char* matemenu_tree_directory_make_path(MateMenuTreeDirectory* directory, MateMenuTreeEntry* entry);
+
+
+const char* matemenu_tree_entry_get_name(MateMenuTreeEntry* entry);
+const char* matemenu_tree_entry_get_generic_name(MateMenuTreeEntry* entry);
+const char* matemenu_tree_entry_get_display_name(MateMenuTreeEntry* entry);
+const char* matemenu_tree_entry_get_comment(MateMenuTreeEntry* entry);
+const char* matemenu_tree_entry_get_icon(MateMenuTreeEntry* entry);
+const char* matemenu_tree_entry_get_exec(MateMenuTreeEntry* entry);
+gboolean matemenu_tree_entry_get_launch_in_terminal(MateMenuTreeEntry* entry);
+const char* matemenu_tree_entry_get_desktop_file_path(MateMenuTreeEntry* entry);
+const char* matemenu_tree_entry_get_desktop_file_id(MateMenuTreeEntry* entry);
+gboolean matemenu_tree_entry_get_is_excluded(MateMenuTreeEntry* entry);
+gboolean matemenu_tree_entry_get_is_nodisplay(MateMenuTreeEntry* entry);
+
+MateMenuTreeDirectory* matemenu_tree_header_get_directory(MateMenuTreeHeader* header);
+
+MateMenuTreeDirectory* matemenu_tree_alias_get_directory(MateMenuTreeAlias* alias);
+MateMenuTreeItem* matemenu_tree_alias_get_item(MateMenuTreeAlias* alias);
+
+void matemenu_tree_add_monitor(MateMenuTree* tree, MateMenuTreeChangedFunc callback, gpointer user_data);
+void matemenu_tree_remove_monitor(MateMenuTree* tree, MateMenuTreeChangedFunc callback, gpointer user_data);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __MATEMENU_TREE_H__ */
diff --git a/libmenu/menu-layout.c b/libmenu/menu-layout.c
new file mode 100644
index 0000000..d447d2d
--- /dev/null
+++ b/libmenu/menu-layout.c
@@ -0,0 +1,2359 @@
+/* Menu layout in-memory data structure (a custom "DOM tree") */
+
+/*
+ * Copyright (C) 2002 - 2004 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <config.h>
+
+#include "menu-layout.h"
+
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <errno.h>
+
+#include "canonicalize.h"
+#include "entry-directories.h"
+#include "menu-util.h"
+
+typedef struct MenuLayoutNodeMenu MenuLayoutNodeMenu;
+typedef struct MenuLayoutNodeRoot MenuLayoutNodeRoot;
+typedef struct MenuLayoutNodeLegacyDir MenuLayoutNodeLegacyDir;
+typedef struct MenuLayoutNodeMergeFile MenuLayoutNodeMergeFile;
+typedef struct MenuLayoutNodeDefaultLayout MenuLayoutNodeDefaultLayout;
+typedef struct MenuLayoutNodeMenuname MenuLayoutNodeMenuname;
+typedef struct MenuLayoutNodeMerge MenuLayoutNodeMerge;
+
+struct MenuLayoutNode
+{
+ /* Node lists are circular, for length-one lists
+ * prev/next point back to the node itself.
+ */
+ MenuLayoutNode *prev;
+ MenuLayoutNode *next;
+ MenuLayoutNode *parent;
+ MenuLayoutNode *children;
+
+ char *content;
+
+ guint refcount : 20;
+ guint type : 7;
+};
+
+struct MenuLayoutNodeRoot
+{
+ MenuLayoutNode node;
+
+ char *basedir;
+ char *name;
+
+ GSList *monitors;
+};
+
+struct MenuLayoutNodeMenu
+{
+ MenuLayoutNode node;
+
+ MenuLayoutNode *name_node; /* cache of the <Name> node */
+
+ EntryDirectoryList *app_dirs;
+ EntryDirectoryList *dir_dirs;
+};
+
+struct MenuLayoutNodeLegacyDir
+{
+ MenuLayoutNode node;
+
+ char *prefix;
+};
+
+struct MenuLayoutNodeMergeFile
+{
+ MenuLayoutNode node;
+
+ MenuMergeFileType type;
+};
+
+struct MenuLayoutNodeDefaultLayout
+{
+ MenuLayoutNode node;
+
+ MenuLayoutValues layout_values;
+};
+
+struct MenuLayoutNodeMenuname
+{
+ MenuLayoutNode node;
+
+ MenuLayoutValues layout_values;
+};
+
+struct MenuLayoutNodeMerge
+{
+ MenuLayoutNode node;
+
+ MenuLayoutMergeType merge_type;
+};
+
+typedef struct
+{
+ MenuLayoutNodeEntriesChangedFunc callback;
+ gpointer user_data;
+} MenuLayoutNodeEntriesMonitor;
+
+
+static inline MenuLayoutNode *
+node_next (MenuLayoutNode *node)
+{
+ /* root nodes (no parent) never have siblings */
+ if (node->parent == NULL)
+ return NULL;
+
+ /* circular list */
+ if (node->next == node->parent->children)
+ return NULL;
+
+ return node->next;
+}
+
+static void
+handle_entry_directory_changed (EntryDirectory *dir,
+ MenuLayoutNode *node)
+{
+ MenuLayoutNodeRoot *nr;
+ GSList *tmp;
+
+ g_assert (node->type == MENU_LAYOUT_NODE_MENU);
+
+ nr = (MenuLayoutNodeRoot *) menu_layout_node_get_root (node);
+
+ tmp = nr->monitors;
+ while (tmp != NULL)
+ {
+ MenuLayoutNodeEntriesMonitor *monitor = tmp->data;
+ GSList *next = tmp->next;
+
+ monitor->callback ((MenuLayoutNode *) nr, monitor->user_data);
+
+ tmp = next;
+ }
+}
+
+static void
+remove_entry_directory_list (MenuLayoutNodeMenu *nm,
+ EntryDirectoryList **dirs)
+{
+ if (*dirs)
+ {
+ entry_directory_list_remove_monitors (*dirs,
+ (EntryDirectoryChangedFunc) handle_entry_directory_changed,
+ nm);
+ entry_directory_list_unref (*dirs);
+ *dirs = NULL;
+ }
+}
+
+MenuLayoutNode *
+menu_layout_node_ref (MenuLayoutNode *node)
+{
+ g_return_val_if_fail (node != NULL, NULL);
+
+ node->refcount += 1;
+
+ return node;
+}
+
+void
+menu_layout_node_unref (MenuLayoutNode *node)
+{
+ g_return_if_fail (node != NULL);
+ g_return_if_fail (node->refcount > 0);
+
+ node->refcount -= 1;
+ if (node->refcount == 0)
+ {
+ MenuLayoutNode *iter;
+
+ iter = node->children;
+ while (iter != NULL)
+ {
+ MenuLayoutNode *next = node_next (iter);
+
+ menu_layout_node_unref (iter);
+
+ iter = next;
+ }
+
+ if (node->type == MENU_LAYOUT_NODE_MENU)
+ {
+ MenuLayoutNodeMenu *nm = (MenuLayoutNodeMenu *) node;
+
+ if (nm->name_node)
+ menu_layout_node_unref (nm->name_node);
+
+ remove_entry_directory_list (nm, &nm->app_dirs);
+ remove_entry_directory_list (nm, &nm->dir_dirs);
+ }
+ else if (node->type == MENU_LAYOUT_NODE_LEGACY_DIR)
+ {
+ MenuLayoutNodeLegacyDir *legacy = (MenuLayoutNodeLegacyDir *) node;
+
+ g_free (legacy->prefix);
+ }
+ else if (node->type == MENU_LAYOUT_NODE_ROOT)
+ {
+ MenuLayoutNodeRoot *nr = (MenuLayoutNodeRoot*) node;
+
+ g_slist_foreach (nr->monitors, (GFunc) g_free, NULL);
+ g_slist_free (nr->monitors);
+
+ g_free (nr->basedir);
+ g_free (nr->name);
+ }
+
+ g_free (node->content);
+ g_free (node);
+ }
+}
+
+MenuLayoutNode *
+menu_layout_node_new (MenuLayoutNodeType type)
+{
+ MenuLayoutNode *node;
+
+ switch (type)
+ {
+ case MENU_LAYOUT_NODE_MENU:
+ node = (MenuLayoutNode *) g_new0 (MenuLayoutNodeMenu, 1);
+ break;
+
+ case MENU_LAYOUT_NODE_LEGACY_DIR:
+ node = (MenuLayoutNode *) g_new0 (MenuLayoutNodeLegacyDir, 1);
+ break;
+
+ case MENU_LAYOUT_NODE_ROOT:
+ node = (MenuLayoutNode*) g_new0 (MenuLayoutNodeRoot, 1);
+ break;
+
+ case MENU_LAYOUT_NODE_MERGE_FILE:
+ node = (MenuLayoutNode *) g_new0 (MenuLayoutNodeMergeFile, 1);
+ break;
+
+ case MENU_LAYOUT_NODE_DEFAULT_LAYOUT:
+ node = (MenuLayoutNode *) g_new0 (MenuLayoutNodeDefaultLayout, 1);
+ break;
+
+ case MENU_LAYOUT_NODE_MENUNAME:
+ node = (MenuLayoutNode *) g_new0 (MenuLayoutNodeMenuname, 1);
+ break;
+
+ case MENU_LAYOUT_NODE_MERGE:
+ node = (MenuLayoutNode *) g_new0 (MenuLayoutNodeMerge, 1);
+ break;
+
+ default:
+ node = g_new0 (MenuLayoutNode, 1);
+ break;
+ }
+
+ node->type = type;
+
+ node->refcount = 1;
+
+ /* we're in a list of one node */
+ node->next = node;
+ node->prev = node;
+
+ return node;
+}
+
+MenuLayoutNode *
+menu_layout_node_get_next (MenuLayoutNode *node)
+{
+ return node_next (node);
+}
+
+MenuLayoutNode *
+menu_layout_node_get_parent (MenuLayoutNode *node)
+{
+ return node->parent;
+}
+
+MenuLayoutNode *
+menu_layout_node_get_children (MenuLayoutNode *node)
+{
+ return node->children;
+}
+
+MenuLayoutNode *
+menu_layout_node_get_root (MenuLayoutNode *node)
+{
+ MenuLayoutNode *parent;
+
+ parent = node;
+ while (parent->parent != NULL)
+ parent = parent->parent;
+
+ g_assert (parent->type == MENU_LAYOUT_NODE_ROOT);
+
+ return parent;
+}
+
+char *
+menu_layout_node_get_content_as_path (MenuLayoutNode *node)
+{
+ if (node->content == NULL)
+ {
+ menu_verbose (" (node has no content to get as a path)\n");
+ return NULL;
+ }
+
+ if (g_path_is_absolute (node->content))
+ {
+ return g_strdup (node->content);
+ }
+ else
+ {
+ MenuLayoutNodeRoot *root;
+
+ root = (MenuLayoutNodeRoot *) menu_layout_node_get_root (node);
+
+ if (root->basedir == NULL)
+ {
+ menu_verbose ("No basedir available, using \"%s\" as-is\n",
+ node->content);
+ return g_strdup (node->content);
+ }
+ else
+ {
+ menu_verbose ("Using basedir \"%s\" filename \"%s\"\n",
+ root->basedir, node->content);
+ return g_build_filename (root->basedir, node->content, NULL);
+ }
+ }
+}
+
+#define RETURN_IF_NO_PARENT(node) G_STMT_START { \
+ if ((node)->parent == NULL) \
+ { \
+ g_warning ("To add siblings to a menu node, " \
+ "it must not be the root node, " \
+ "and must be linked in below some root node\n" \
+ "node parent = %p and type = %d", \
+ (node)->parent, (node)->type); \
+ return; \
+ } \
+ } G_STMT_END
+
+#define RETURN_IF_HAS_ENTRY_DIRS(node) G_STMT_START { \
+ if ((node)->type == MENU_LAYOUT_NODE_MENU && \
+ (((MenuLayoutNodeMenu*)(node))->app_dirs != NULL || \
+ ((MenuLayoutNodeMenu*)(node))->dir_dirs != NULL)) \
+ { \
+ g_warning ("node acquired ->app_dirs or ->dir_dirs " \
+ "while not rooted in a tree\n"); \
+ return; \
+ } \
+ } G_STMT_END \
+
+void
+menu_layout_node_insert_before (MenuLayoutNode *node,
+ MenuLayoutNode *new_sibling)
+{
+ g_return_if_fail (new_sibling != NULL);
+ g_return_if_fail (new_sibling->parent == NULL);
+
+ RETURN_IF_NO_PARENT (node);
+ RETURN_IF_HAS_ENTRY_DIRS (new_sibling);
+
+ new_sibling->next = node;
+ new_sibling->prev = node->prev;
+
+ node->prev = new_sibling;
+ new_sibling->prev->next = new_sibling;
+
+ new_sibling->parent = node->parent;
+
+ if (node == node->parent->children)
+ node->parent->children = new_sibling;
+
+ menu_layout_node_ref (new_sibling);
+}
+
+void
+menu_layout_node_insert_after (MenuLayoutNode *node,
+ MenuLayoutNode *new_sibling)
+{
+ g_return_if_fail (new_sibling != NULL);
+ g_return_if_fail (new_sibling->parent == NULL);
+
+ RETURN_IF_NO_PARENT (node);
+ RETURN_IF_HAS_ENTRY_DIRS (new_sibling);
+
+ new_sibling->prev = node;
+ new_sibling->next = node->next;
+
+ node->next = new_sibling;
+ new_sibling->next->prev = new_sibling;
+
+ new_sibling->parent = node->parent;
+
+ menu_layout_node_ref (new_sibling);
+}
+
+void
+menu_layout_node_prepend_child (MenuLayoutNode *parent,
+ MenuLayoutNode *new_child)
+{
+ RETURN_IF_HAS_ENTRY_DIRS (new_child);
+
+ if (parent->children)
+ {
+ menu_layout_node_insert_before (parent->children, new_child);
+ }
+ else
+ {
+ parent->children = menu_layout_node_ref (new_child);
+ new_child->parent = parent;
+ }
+}
+
+void
+menu_layout_node_append_child (MenuLayoutNode *parent,
+ MenuLayoutNode *new_child)
+{
+ RETURN_IF_HAS_ENTRY_DIRS (new_child);
+
+ if (parent->children)
+ {
+ menu_layout_node_insert_after (parent->children->prev, new_child);
+ }
+ else
+ {
+ parent->children = menu_layout_node_ref (new_child);
+ new_child->parent = parent;
+ }
+}
+
+void
+menu_layout_node_unlink (MenuLayoutNode *node)
+{
+ g_return_if_fail (node != NULL);
+ g_return_if_fail (node->parent != NULL);
+
+ menu_layout_node_steal (node);
+ menu_layout_node_unref (node);
+}
+
+static void
+recursive_clean_entry_directory_lists (MenuLayoutNode *node,
+ gboolean apps)
+{
+ EntryDirectoryList **dirs;
+ MenuLayoutNodeMenu *nm;
+ MenuLayoutNode *iter;
+
+ if (node->type != MENU_LAYOUT_NODE_MENU)
+ return;
+
+ nm = (MenuLayoutNodeMenu *) node;
+
+ dirs = apps ? &nm->app_dirs : &nm->dir_dirs;
+
+ if (*dirs == NULL || entry_directory_list_get_length (*dirs) == 0)
+ return; /* child menus continue to have valid lists */
+
+ remove_entry_directory_list (nm, dirs);
+
+ iter = node->children;
+ while (iter != NULL)
+ {
+ if (iter->type == MENU_LAYOUT_NODE_MENU)
+ recursive_clean_entry_directory_lists (iter, apps);
+
+ iter = node_next (iter);
+ }
+}
+
+void
+menu_layout_node_steal (MenuLayoutNode *node)
+{
+ g_return_if_fail (node != NULL);
+ g_return_if_fail (node->parent != NULL);
+
+ switch (node->type)
+ {
+ case MENU_LAYOUT_NODE_NAME:
+ {
+ MenuLayoutNodeMenu *nm = (MenuLayoutNodeMenu *) node->parent;
+
+ if (nm->name_node == node)
+ {
+ menu_layout_node_unref (nm->name_node);
+ nm->name_node = NULL;
+ }
+ }
+ break;
+
+ case MENU_LAYOUT_NODE_APP_DIR:
+ recursive_clean_entry_directory_lists (node->parent, TRUE);
+ break;
+
+ case MENU_LAYOUT_NODE_DIRECTORY_DIR:
+ recursive_clean_entry_directory_lists (node->parent, FALSE);
+ break;
+
+ default:
+ break;
+ }
+
+ if (node->parent && node->parent->children == node)
+ {
+ if (node->next != node)
+ node->parent->children = node->next;
+ else
+ node->parent->children = NULL;
+ }
+
+ /* these are no-ops for length-one node lists */
+ node->prev->next = node->next;
+ node->next->prev = node->prev;
+
+ node->parent = NULL;
+
+ /* point to ourselves, now we're length one */
+ node->next = node;
+ node->prev = node;
+}
+
+MenuLayoutNodeType
+menu_layout_node_get_type (MenuLayoutNode *node)
+{
+ return node->type;
+}
+
+const char *
+menu_layout_node_get_content (MenuLayoutNode *node)
+{
+ return node->content;
+}
+
+void
+menu_layout_node_set_content (MenuLayoutNode *node,
+ const char *content)
+{
+ if (node->content == content)
+ return;
+
+ g_free (node->content);
+ node->content = g_strdup (content);
+}
+
+const char *
+menu_layout_node_root_get_name (MenuLayoutNode *node)
+{
+ MenuLayoutNodeRoot *nr;
+
+ g_return_val_if_fail (node->type == MENU_LAYOUT_NODE_ROOT, NULL);
+
+ nr = (MenuLayoutNodeRoot*) node;
+
+ return nr->name;
+}
+
+const char *
+menu_layout_node_root_get_basedir (MenuLayoutNode *node)
+{
+ MenuLayoutNodeRoot *nr;
+
+ g_return_val_if_fail (node->type == MENU_LAYOUT_NODE_ROOT, NULL);
+
+ nr = (MenuLayoutNodeRoot*) node;
+
+ return nr->basedir;
+}
+
+const char *
+menu_layout_node_menu_get_name (MenuLayoutNode *node)
+{
+ MenuLayoutNodeMenu *nm;
+
+ g_return_val_if_fail (node->type == MENU_LAYOUT_NODE_MENU, NULL);
+
+ nm = (MenuLayoutNodeMenu*) node;
+
+ if (nm->name_node == NULL)
+ {
+ MenuLayoutNode *iter;
+
+ iter = node->children;
+ while (iter != NULL)
+ {
+ if (iter->type == MENU_LAYOUT_NODE_NAME)
+ {
+ nm->name_node = menu_layout_node_ref (iter);
+ break;
+ }
+
+ iter = node_next (iter);
+ }
+ }
+
+ if (nm->name_node == NULL)
+ return NULL;
+
+ return menu_layout_node_get_content (nm->name_node);
+}
+
+static void
+ensure_dir_lists (MenuLayoutNodeMenu *nm)
+{
+ MenuLayoutNode *node;
+ MenuLayoutNode *iter;
+ EntryDirectoryList *app_dirs;
+ EntryDirectoryList *dir_dirs;
+
+ node = (MenuLayoutNode *) nm;
+
+ if (nm->app_dirs && nm->dir_dirs)
+ return;
+
+ app_dirs = NULL;
+ dir_dirs = NULL;
+
+ if (nm->app_dirs == NULL)
+ {
+ app_dirs = entry_directory_list_new ();
+
+ if (node->parent && node->parent->type == MENU_LAYOUT_NODE_MENU)
+ {
+ EntryDirectoryList *dirs;
+
+ if ((dirs = menu_layout_node_menu_get_app_dirs (node->parent)))
+ entry_directory_list_append_list (app_dirs, dirs);
+ }
+ }
+
+ if (nm->dir_dirs == NULL)
+ {
+ dir_dirs = entry_directory_list_new ();
+
+ if (node->parent && node->parent->type == MENU_LAYOUT_NODE_MENU)
+ {
+ EntryDirectoryList *dirs;
+
+ if ((dirs = menu_layout_node_menu_get_directory_dirs (node->parent)))
+ entry_directory_list_append_list (dir_dirs, dirs);
+ }
+ }
+
+ iter = node->children;
+ while (iter != NULL)
+ {
+ EntryDirectory *ed;
+
+ if (app_dirs != NULL && iter->type == MENU_LAYOUT_NODE_APP_DIR)
+ {
+ char *path;
+
+ path = menu_layout_node_get_content_as_path (iter);
+
+ ed = entry_directory_new (DESKTOP_ENTRY_DESKTOP, path);
+ if (ed != NULL)
+ {
+ entry_directory_list_prepend (app_dirs, ed);
+ entry_directory_unref (ed);
+ }
+
+ g_free (path);
+ }
+
+ if (dir_dirs != NULL && iter->type == MENU_LAYOUT_NODE_DIRECTORY_DIR)
+ {
+ char *path;
+
+ path = menu_layout_node_get_content_as_path (iter);
+
+ ed = entry_directory_new (DESKTOP_ENTRY_DIRECTORY, path);
+ if (ed != NULL)
+ {
+ entry_directory_list_prepend (dir_dirs, ed);
+ entry_directory_unref (ed);
+ }
+
+ g_free (path);
+ }
+
+ if (iter->type == MENU_LAYOUT_NODE_LEGACY_DIR)
+ {
+ MenuLayoutNodeLegacyDir *legacy = (MenuLayoutNodeLegacyDir *) iter;
+ char *path;
+
+ path = menu_layout_node_get_content_as_path (iter);
+
+ if (app_dirs != NULL) /* we're loading app dirs */
+ {
+ ed = entry_directory_new_legacy (DESKTOP_ENTRY_DESKTOP,
+ path,
+ legacy->prefix);
+ if (ed != NULL)
+ {
+ entry_directory_list_prepend (app_dirs, ed);
+ entry_directory_unref (ed);
+ }
+ }
+
+ if (dir_dirs != NULL) /* we're loading dir dirs */
+ {
+ ed = entry_directory_new_legacy (DESKTOP_ENTRY_DIRECTORY,
+ path,
+ legacy->prefix);
+ if (ed != NULL)
+ {
+ entry_directory_list_prepend (dir_dirs, ed);
+ entry_directory_unref (ed);
+ }
+ }
+
+ g_free (path);
+ }
+
+ iter = node_next (iter);
+ }
+
+ if (app_dirs)
+ {
+ g_assert (nm->app_dirs == NULL);
+
+ nm->app_dirs = app_dirs;
+ entry_directory_list_add_monitors (nm->app_dirs,
+ (EntryDirectoryChangedFunc) handle_entry_directory_changed,
+ nm);
+ }
+
+ if (dir_dirs)
+ {
+ g_assert (nm->dir_dirs == NULL);
+
+ nm->dir_dirs = dir_dirs;
+ entry_directory_list_add_monitors (nm->dir_dirs,
+ (EntryDirectoryChangedFunc) handle_entry_directory_changed,
+ nm);
+ }
+}
+
+EntryDirectoryList *
+menu_layout_node_menu_get_app_dirs (MenuLayoutNode *node)
+{
+ MenuLayoutNodeMenu *nm;
+
+ g_return_val_if_fail (node->type == MENU_LAYOUT_NODE_MENU, NULL);
+
+ nm = (MenuLayoutNodeMenu *) node;
+
+ ensure_dir_lists (nm);
+
+ return nm->app_dirs;
+}
+
+EntryDirectoryList *
+menu_layout_node_menu_get_directory_dirs (MenuLayoutNode *node)
+{
+ MenuLayoutNodeMenu *nm;
+
+ g_return_val_if_fail (node->type == MENU_LAYOUT_NODE_MENU, NULL);
+
+ nm = (MenuLayoutNodeMenu *) node;
+
+ ensure_dir_lists (nm);
+
+ return nm->dir_dirs;
+}
+
+const char *
+menu_layout_node_move_get_old (MenuLayoutNode *node)
+{
+ MenuLayoutNode *iter;
+
+ iter = node->children;
+ while (iter != NULL)
+ {
+ if (iter->type == MENU_LAYOUT_NODE_OLD)
+ return iter->content;
+
+ iter = node_next (iter);
+ }
+
+ return NULL;
+}
+
+const char *
+menu_layout_node_move_get_new (MenuLayoutNode *node)
+{
+ MenuLayoutNode *iter;
+
+ iter = node->children;
+ while (iter != NULL)
+ {
+ if (iter->type == MENU_LAYOUT_NODE_NEW)
+ return iter->content;
+
+ iter = node_next (iter);
+ }
+
+ return NULL;
+}
+
+const char *
+menu_layout_node_legacy_dir_get_prefix (MenuLayoutNode *node)
+{
+ MenuLayoutNodeLegacyDir *legacy;
+
+ g_return_val_if_fail (node->type == MENU_LAYOUT_NODE_LEGACY_DIR, NULL);
+
+ legacy = (MenuLayoutNodeLegacyDir *) node;
+
+ return legacy->prefix;
+}
+
+void
+menu_layout_node_legacy_dir_set_prefix (MenuLayoutNode *node,
+ const char *prefix)
+{
+ MenuLayoutNodeLegacyDir *legacy;
+
+ g_return_if_fail (node->type == MENU_LAYOUT_NODE_LEGACY_DIR);
+
+ legacy = (MenuLayoutNodeLegacyDir *) node;
+
+ g_free (legacy->prefix);
+ legacy->prefix = g_strdup (prefix);
+}
+
+MenuMergeFileType
+menu_layout_node_merge_file_get_type (MenuLayoutNode *node)
+{
+ MenuLayoutNodeMergeFile *merge_file;
+
+ g_return_val_if_fail (node->type == MENU_LAYOUT_NODE_MERGE_FILE, FALSE);
+
+ merge_file = (MenuLayoutNodeMergeFile *) node;
+
+ return merge_file->type;
+}
+
+void
+menu_layout_node_merge_file_set_type (MenuLayoutNode *node,
+ MenuMergeFileType type)
+{
+ MenuLayoutNodeMergeFile *merge_file;
+
+ g_return_if_fail (node->type == MENU_LAYOUT_NODE_MERGE_FILE);
+
+ merge_file = (MenuLayoutNodeMergeFile *) node;
+
+ merge_file->type = type;
+}
+
+MenuLayoutMergeType
+menu_layout_node_merge_get_type (MenuLayoutNode *node)
+{
+ MenuLayoutNodeMerge *merge;
+
+ g_return_val_if_fail (node->type == MENU_LAYOUT_NODE_MERGE, 0);
+
+ merge = (MenuLayoutNodeMerge *) node;
+
+ return merge->merge_type;
+}
+
+static void
+menu_layout_node_merge_set_type (MenuLayoutNode *node,
+ const char *merge_type)
+{
+ MenuLayoutNodeMerge *merge;
+
+ g_return_if_fail (node->type == MENU_LAYOUT_NODE_MERGE);
+
+ merge = (MenuLayoutNodeMerge *) node;
+
+ merge->merge_type = MENU_LAYOUT_MERGE_NONE;
+
+ if (strcmp (merge_type, "menus") == 0)
+ {
+ merge->merge_type = MENU_LAYOUT_MERGE_MENUS;
+ }
+ else if (strcmp (merge_type, "files") == 0)
+ {
+ merge->merge_type = MENU_LAYOUT_MERGE_FILES;
+ }
+ else if (strcmp (merge_type, "all") == 0)
+ {
+ merge->merge_type = MENU_LAYOUT_MERGE_ALL;
+ }
+}
+
+void
+menu_layout_node_default_layout_get_values (MenuLayoutNode *node,
+ MenuLayoutValues *values)
+{
+ MenuLayoutNodeDefaultLayout *default_layout;
+
+ g_return_if_fail (node->type == MENU_LAYOUT_NODE_DEFAULT_LAYOUT);
+ g_return_if_fail (values != NULL);
+
+ default_layout = (MenuLayoutNodeDefaultLayout *) node;
+
+ *values = default_layout->layout_values;
+}
+
+void
+menu_layout_node_menuname_get_values (MenuLayoutNode *node,
+ MenuLayoutValues *values)
+{
+ MenuLayoutNodeMenuname *menuname;
+
+ g_return_if_fail (node->type == MENU_LAYOUT_NODE_MENUNAME);
+ g_return_if_fail (values != NULL);
+
+ menuname = (MenuLayoutNodeMenuname *) node;
+
+ *values = menuname->layout_values;
+}
+
+static void
+menu_layout_values_set (MenuLayoutValues *values,
+ const char *show_empty,
+ const char *inline_menus,
+ const char *inline_limit,
+ const char *inline_header,
+ const char *inline_alias)
+{
+ values->mask = MENU_LAYOUT_VALUES_NONE;
+ values->show_empty = FALSE;
+ values->inline_menus = FALSE;
+ values->inline_limit = 4;
+ values->inline_header = FALSE;
+ values->inline_alias = FALSE;
+
+ if (show_empty != NULL)
+ {
+ values->show_empty = strcmp (show_empty, "true") == 0;
+ values->mask |= MENU_LAYOUT_VALUES_SHOW_EMPTY;
+ }
+
+ if (inline_menus != NULL)
+ {
+ values->inline_menus = strcmp (inline_menus, "true") == 0;
+ values->mask |= MENU_LAYOUT_VALUES_INLINE_MENUS;
+ }
+
+ if (inline_limit != NULL)
+ {
+ char *end;
+ int limit;
+
+ limit = strtol (inline_limit, &end, 10);
+ if (*end == '\0')
+ {
+ values->inline_limit = limit;
+ values->mask |= MENU_LAYOUT_VALUES_INLINE_LIMIT;
+ }
+ }
+
+ if (inline_header != NULL)
+ {
+ values->inline_header = strcmp (inline_header, "true") == 0;
+ values->mask |= MENU_LAYOUT_VALUES_INLINE_HEADER;
+ }
+
+ if (inline_alias != NULL)
+ {
+ values->inline_alias = strcmp (inline_alias, "true") == 0;
+ values->mask |= MENU_LAYOUT_VALUES_INLINE_ALIAS;
+ }
+}
+
+static void
+menu_layout_node_default_layout_set_values (MenuLayoutNode *node,
+ const char *show_empty,
+ const char *inline_menus,
+ const char *inline_limit,
+ const char *inline_header,
+ const char *inline_alias)
+{
+ MenuLayoutNodeDefaultLayout *default_layout;
+
+ g_return_if_fail (node->type == MENU_LAYOUT_NODE_DEFAULT_LAYOUT);
+
+ default_layout = (MenuLayoutNodeDefaultLayout *) node;
+
+ menu_layout_values_set (&default_layout->layout_values,
+ show_empty,
+ inline_menus,
+ inline_limit,
+ inline_header,
+ inline_alias);
+}
+
+static void
+menu_layout_node_menuname_set_values (MenuLayoutNode *node,
+ const char *show_empty,
+ const char *inline_menus,
+ const char *inline_limit,
+ const char *inline_header,
+ const char *inline_alias)
+{
+ MenuLayoutNodeMenuname *menuname;
+
+ g_return_if_fail (node->type == MENU_LAYOUT_NODE_MENUNAME);
+
+ menuname = (MenuLayoutNodeMenuname *) node;
+
+ menu_layout_values_set (&menuname->layout_values,
+ show_empty,
+ inline_menus,
+ inline_limit,
+ inline_header,
+ inline_alias);
+}
+
+void
+menu_layout_node_root_add_entries_monitor (MenuLayoutNode *node,
+ MenuLayoutNodeEntriesChangedFunc callback,
+ gpointer user_data)
+{
+ MenuLayoutNodeEntriesMonitor *monitor;
+ MenuLayoutNodeRoot *nr;
+ GSList *tmp;
+
+ g_return_if_fail (node->type == MENU_LAYOUT_NODE_ROOT);
+
+ nr = (MenuLayoutNodeRoot *) node;
+
+ tmp = nr->monitors;
+ while (tmp != NULL)
+ {
+ monitor = tmp->data;
+
+ if (monitor->callback == callback &&
+ monitor->user_data == user_data)
+ break;
+
+ tmp = tmp->next;
+ }
+
+ if (tmp == NULL)
+ {
+ monitor = g_new0 (MenuLayoutNodeEntriesMonitor, 1);
+ monitor->callback = callback;
+ monitor->user_data = user_data;
+
+ nr->monitors = g_slist_append (nr->monitors, monitor);
+ }
+}
+
+void
+menu_layout_node_root_remove_entries_monitor (MenuLayoutNode *node,
+ MenuLayoutNodeEntriesChangedFunc callback,
+ gpointer user_data)
+{
+ MenuLayoutNodeRoot *nr;
+ GSList *tmp;
+
+ g_return_if_fail (node->type == MENU_LAYOUT_NODE_ROOT);
+
+ nr = (MenuLayoutNodeRoot *) node;
+
+ tmp = nr->monitors;
+ while (tmp != NULL)
+ {
+ MenuLayoutNodeEntriesMonitor *monitor = tmp->data;
+ GSList *next = tmp->next;
+
+ if (monitor->callback == callback &&
+ monitor->user_data == user_data)
+ {
+ nr->monitors = g_slist_delete_link (nr->monitors, tmp);
+ g_free (monitor);
+ }
+
+ tmp = next;
+ }
+}
+
+
+/*
+ * Menu file parsing
+ */
+
+typedef struct
+{
+ MenuLayoutNode *root;
+ MenuLayoutNode *stack_top;
+} MenuParser;
+
+static void set_error (GError **err,
+ GMarkupParseContext *context,
+ int error_domain,
+ int error_code,
+ const char *format,
+ ...) G_GNUC_PRINTF (5, 6);
+
+static void add_context_to_error (GError **err,
+ GMarkupParseContext *context);
+
+static void start_element_handler (GMarkupParseContext *context,
+ const char *element_name,
+ const char **attribute_names,
+ const char **attribute_values,
+ gpointer user_data,
+ GError **error);
+static void end_element_handler (GMarkupParseContext *context,
+ const char *element_name,
+ gpointer user_data,
+ GError **error);
+static void text_handler (GMarkupParseContext *context,
+ const char *text,
+ gsize text_len,
+ gpointer user_data,
+ GError **error);
+static void passthrough_handler (GMarkupParseContext *context,
+ const char *passthrough_text,
+ gsize text_len,
+ gpointer user_data,
+ GError **error);
+
+
+static GMarkupParser menu_funcs = {
+ start_element_handler,
+ end_element_handler,
+ text_handler,
+ passthrough_handler,
+ NULL
+};
+
+static void
+set_error (GError **err,
+ GMarkupParseContext *context,
+ int error_domain,
+ int error_code,
+ const char *format,
+ ...)
+{
+ int line, ch;
+ va_list args;
+ char *str;
+
+ g_markup_parse_context_get_position (context, &line, &ch);
+
+ va_start (args, format);
+ str = g_strdup_vprintf (format, args);
+ va_end (args);
+
+ g_set_error (err, error_domain, error_code,
+ "Line %d character %d: %s",
+ line, ch, str);
+
+ g_free (str);
+}
+
+static void
+add_context_to_error (GError **err,
+ GMarkupParseContext *context)
+{
+ int line, ch;
+ char *str;
+
+ if (err == NULL || *err == NULL)
+ return;
+
+ g_markup_parse_context_get_position (context, &line, &ch);
+
+ str = g_strdup_printf ("Line %d character %d: %s",
+ line, ch, (*err)->message);
+ g_free ((*err)->message);
+ (*err)->message = str;
+}
+
+#define ELEMENT_IS(name) (strcmp (element_name, (name)) == 0)
+
+typedef struct
+{
+ const char *name;
+ const char **retloc;
+} LocateAttr;
+
+static gboolean
+locate_attributes (GMarkupParseContext *context,
+ const char *element_name,
+ const char **attribute_names,
+ const char **attribute_values,
+ GError **error,
+ const char *first_attribute_name,
+ const char **first_attribute_retloc,
+ ...)
+{
+#define MAX_ATTRS 24
+ LocateAttr attrs[MAX_ATTRS];
+ int n_attrs;
+ va_list args;
+ const char *name;
+ const char **retloc;
+ gboolean retval;
+ int i;
+
+ g_return_val_if_fail (first_attribute_name != NULL, FALSE);
+ g_return_val_if_fail (first_attribute_retloc != NULL, FALSE);
+
+ retval = TRUE;
+
+ n_attrs = 1;
+ attrs[0].name = first_attribute_name;
+ attrs[0].retloc = first_attribute_retloc;
+ *first_attribute_retloc = NULL;
+
+ va_start (args, first_attribute_retloc);
+
+ name = va_arg (args, const char *);
+ retloc = va_arg (args, const char **);
+
+ while (name != NULL)
+ {
+ g_return_val_if_fail (retloc != NULL, FALSE);
+
+ g_assert (n_attrs < MAX_ATTRS);
+
+ attrs[n_attrs].name = name;
+ attrs[n_attrs].retloc = retloc;
+ n_attrs += 1;
+ *retloc = NULL;
+
+ name = va_arg (args, const char *);
+ retloc = va_arg (args, const char **);
+ }
+
+ va_end (args);
+
+ i = 0;
+ while (attribute_names[i])
+ {
+ int j;
+
+ j = 0;
+ while (j < n_attrs)
+ {
+ if (strcmp (attrs[j].name, attribute_names[i]) == 0)
+ {
+ retloc = attrs[j].retloc;
+
+ if (*retloc != NULL)
+ {
+ set_error (error, context,
+ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
+ "Attribute \"%s\" repeated twice on the same <%s> element",
+ attrs[j].name, element_name);
+ retval = FALSE;
+ goto out;
+ }
+
+ *retloc = attribute_values[i];
+ break;
+ }
+
+ ++j;
+ }
+
+ if (j == n_attrs)
+ {
+ set_error (error, context,
+ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
+ "Attribute \"%s\" is invalid on <%s> element in this context",
+ attribute_names[i], element_name);
+ retval = FALSE;
+ goto out;
+ }
+
+ ++i;
+ }
+
+ out:
+ return retval;
+
+#undef MAX_ATTRS
+}
+
+static gboolean
+check_no_attributes (GMarkupParseContext *context,
+ const char *element_name,
+ const char **attribute_names,
+ const char **attribute_values,
+ GError **error)
+{
+ if (attribute_names[0] != NULL)
+ {
+ set_error (error, context,
+ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
+ "Attribute \"%s\" is invalid on <%s> element in this context",
+ attribute_names[0], element_name);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static int
+has_child_of_type (MenuLayoutNode *node,
+ MenuLayoutNodeType type)
+{
+ MenuLayoutNode *iter;
+
+ iter = node->children;
+ while (iter)
+ {
+ if (iter->type == type)
+ return TRUE;
+
+ iter = node_next (iter);
+ }
+
+ return FALSE;
+}
+
+static void
+push_node (MenuParser *parser,
+ MenuLayoutNodeType type)
+{
+ MenuLayoutNode *node;
+
+ node = menu_layout_node_new (type);
+ menu_layout_node_append_child (parser->stack_top, node);
+ menu_layout_node_unref (node);
+
+ parser->stack_top = node;
+}
+
+static void
+start_menu_element (MenuParser *parser,
+ GMarkupParseContext *context,
+ const char *element_name,
+ const char **attribute_names,
+ const char **attribute_values,
+ GError **error)
+{
+ if (!check_no_attributes (context, element_name,
+ attribute_names, attribute_values,
+ error))
+ return;
+
+ if (!(parser->stack_top->type == MENU_LAYOUT_NODE_ROOT ||
+ parser->stack_top->type == MENU_LAYOUT_NODE_MENU))
+ {
+ set_error (error, context,
+ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
+ "<Menu> element can only appear below other <Menu> elements or at toplevel\n");
+ }
+ else
+ {
+ push_node (parser, MENU_LAYOUT_NODE_MENU);
+ }
+}
+
+static void
+start_menu_child_element (MenuParser *parser,
+ GMarkupParseContext *context,
+ const char *element_name,
+ const char **attribute_names,
+ const char **attribute_values,
+ GError **error)
+{
+ if (ELEMENT_IS ("LegacyDir"))
+ {
+ const char *prefix;
+
+ push_node (parser, MENU_LAYOUT_NODE_LEGACY_DIR);
+
+ if (!locate_attributes (context, element_name,
+ attribute_names, attribute_values,
+ error,
+ "prefix", &prefix,
+ NULL))
+ return;
+
+ menu_layout_node_legacy_dir_set_prefix (parser->stack_top, prefix);
+ }
+ else if (ELEMENT_IS ("MergeFile"))
+ {
+ const char *type;
+
+ push_node (parser, MENU_LAYOUT_NODE_MERGE_FILE);
+
+ if (!locate_attributes (context, element_name,
+ attribute_names, attribute_values,
+ error,
+ "type", &type,
+ NULL))
+ return;
+
+ if (type != NULL && strcmp (type, "parent") == 0)
+ {
+ menu_layout_node_merge_file_set_type (parser->stack_top,
+ MENU_MERGE_FILE_TYPE_PARENT);
+ }
+ }
+ else if (ELEMENT_IS ("DefaultLayout"))
+ {
+ const char *show_empty;
+ const char *inline_menus;
+ const char *inline_limit;
+ const char *inline_header;
+ const char *inline_alias;
+
+ push_node (parser, MENU_LAYOUT_NODE_DEFAULT_LAYOUT);
+
+ locate_attributes (context, element_name,
+ attribute_names, attribute_values,
+ error,
+ "show_empty", &show_empty,
+ "inline", &inline_menus,
+ "inline_limit", &inline_limit,
+ "inline_header", &inline_header,
+ "inline_alias", &inline_alias,
+ NULL);
+
+ menu_layout_node_default_layout_set_values (parser->stack_top,
+ show_empty,
+ inline_menus,
+ inline_limit,
+ inline_header,
+ inline_alias);
+ }
+ else
+ {
+ if (!check_no_attributes (context, element_name,
+ attribute_names, attribute_values,
+ error))
+ return;
+
+ if (ELEMENT_IS ("AppDir"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_APP_DIR);
+ }
+ else if (ELEMENT_IS ("DefaultAppDirs"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_DEFAULT_APP_DIRS);
+ }
+ else if (ELEMENT_IS ("DirectoryDir"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_DIRECTORY_DIR);
+ }
+ else if (ELEMENT_IS ("DefaultDirectoryDirs"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_DEFAULT_DIRECTORY_DIRS);
+ }
+ else if (ELEMENT_IS ("DefaultMergeDirs"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_DEFAULT_MERGE_DIRS);
+ }
+ else if (ELEMENT_IS ("Name"))
+ {
+ if (has_child_of_type (parser->stack_top, MENU_LAYOUT_NODE_NAME))
+ {
+ set_error (error, context,
+ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
+ "Multiple <Name> elements in a <Menu> element is not allowed\n");
+ return;
+ }
+
+ push_node (parser, MENU_LAYOUT_NODE_NAME);
+ }
+ else if (ELEMENT_IS ("Directory"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_DIRECTORY);
+ }
+ else if (ELEMENT_IS ("OnlyUnallocated"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_ONLY_UNALLOCATED);
+ }
+ else if (ELEMENT_IS ("NotOnlyUnallocated"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_NOT_ONLY_UNALLOCATED);
+ }
+ else if (ELEMENT_IS ("Include"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_INCLUDE);
+ }
+ else if (ELEMENT_IS ("Exclude"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_EXCLUDE);
+ }
+ else if (ELEMENT_IS ("MergeDir"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_MERGE_DIR);
+ }
+ else if (ELEMENT_IS ("KDELegacyDirs"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_KDE_LEGACY_DIRS);
+ }
+ else if (ELEMENT_IS ("Move"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_MOVE);
+ }
+ else if (ELEMENT_IS ("Deleted"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_DELETED);
+
+ }
+ else if (ELEMENT_IS ("NotDeleted"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_NOT_DELETED);
+ }
+ else if (ELEMENT_IS ("Layout"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_LAYOUT);
+ }
+ else
+ {
+ set_error (error, context,
+ G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ELEMENT,
+ "Element <%s> may not appear below <%s>\n",
+ element_name, "Menu");
+ }
+ }
+}
+
+static void
+start_matching_rule_element (MenuParser *parser,
+ GMarkupParseContext *context,
+ const char *element_name,
+ const char **attribute_names,
+ const char **attribute_values,
+ GError **error)
+{
+ if (!check_no_attributes (context, element_name,
+ attribute_names, attribute_values,
+ error))
+ return;
+
+
+ if (ELEMENT_IS ("Filename"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_FILENAME);
+ }
+ else if (ELEMENT_IS ("Category"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_CATEGORY);
+ }
+ else if (ELEMENT_IS ("All"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_ALL);
+ }
+ else if (ELEMENT_IS ("And"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_AND);
+ }
+ else if (ELEMENT_IS ("Or"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_OR);
+ }
+ else if (ELEMENT_IS ("Not"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_NOT);
+ }
+ else
+ {
+ set_error (error, context,
+ G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ELEMENT,
+ "Element <%s> may not appear in this context\n",
+ element_name);
+ }
+}
+
+static void
+start_move_child_element (MenuParser *parser,
+ GMarkupParseContext *context,
+ const char *element_name,
+ const char **attribute_names,
+ const char **attribute_values,
+ GError **error)
+{
+ if (!check_no_attributes (context, element_name,
+ attribute_names, attribute_values,
+ error))
+ return;
+
+ if (ELEMENT_IS ("Old"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_OLD);
+ }
+ else if (ELEMENT_IS ("New"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_NEW);
+ }
+ else
+ {
+ set_error (error, context,
+ G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ELEMENT,
+ "Element <%s> may not appear below <%s>\n",
+ element_name, "Move");
+ }
+}
+
+static void
+start_layout_child_element (MenuParser *parser,
+ GMarkupParseContext *context,
+ const char *element_name,
+ const char **attribute_names,
+ const char **attribute_values,
+ GError **error)
+{
+ if (ELEMENT_IS ("Menuname"))
+ {
+ const char *show_empty;
+ const char *inline_menus;
+ const char *inline_limit;
+ const char *inline_header;
+ const char *inline_alias;
+
+ push_node (parser, MENU_LAYOUT_NODE_MENUNAME);
+
+ locate_attributes (context, element_name,
+ attribute_names, attribute_values,
+ error,
+ "show_empty", &show_empty,
+ "inline", &inline_menus,
+ "inline_limit", &inline_limit,
+ "inline_header", &inline_header,
+ "inline_alias", &inline_alias,
+ NULL);
+
+ menu_layout_node_menuname_set_values (parser->stack_top,
+ show_empty,
+ inline_menus,
+ inline_limit,
+ inline_header,
+ inline_alias);
+ }
+ else if (ELEMENT_IS ("Merge"))
+ {
+ const char *type;
+
+ push_node (parser, MENU_LAYOUT_NODE_MERGE);
+
+ locate_attributes (context, element_name,
+ attribute_names, attribute_values,
+ error,
+ "type", &type,
+ NULL);
+
+ menu_layout_node_merge_set_type (parser->stack_top, type);
+ }
+ else
+ {
+ if (!check_no_attributes (context, element_name,
+ attribute_names, attribute_values,
+ error))
+ return;
+
+ if (ELEMENT_IS ("Filename"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_FILENAME);
+ }
+ else if (ELEMENT_IS ("Separator"))
+ {
+ push_node (parser, MENU_LAYOUT_NODE_SEPARATOR);
+ }
+ else
+ {
+ set_error (error, context,
+ G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ELEMENT,
+ "Element <%s> may not appear below <%s>\n",
+ element_name, "Move");
+ }
+ }
+}
+
+static void
+start_element_handler (GMarkupParseContext *context,
+ const char *element_name,
+ const char **attribute_names,
+ const char **attribute_values,
+ gpointer user_data,
+ GError **error)
+{
+ MenuParser *parser = user_data;
+
+ if (ELEMENT_IS ("Menu"))
+ {
+ if (parser->stack_top == parser->root &&
+ has_child_of_type (parser->root, MENU_LAYOUT_NODE_MENU))
+ {
+ set_error (error, context,
+ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
+ "Multiple root elements in menu file, only one toplevel <Menu> is allowed\n");
+ return;
+ }
+
+ start_menu_element (parser, context, element_name,
+ attribute_names, attribute_values,
+ error);
+ }
+ else if (parser->stack_top == parser->root)
+ {
+ set_error (error, context,
+ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
+ "Root element in a menu file must be <Menu>, not <%s>\n",
+ element_name);
+ }
+ else if (parser->stack_top->type == MENU_LAYOUT_NODE_MENU)
+ {
+ start_menu_child_element (parser, context, element_name,
+ attribute_names, attribute_values,
+ error);
+ }
+ else if (parser->stack_top->type == MENU_LAYOUT_NODE_INCLUDE ||
+ parser->stack_top->type == MENU_LAYOUT_NODE_EXCLUDE ||
+ parser->stack_top->type == MENU_LAYOUT_NODE_AND ||
+ parser->stack_top->type == MENU_LAYOUT_NODE_OR ||
+ parser->stack_top->type == MENU_LAYOUT_NODE_NOT)
+ {
+ start_matching_rule_element (parser, context, element_name,
+ attribute_names, attribute_values,
+ error);
+ }
+ else if (parser->stack_top->type == MENU_LAYOUT_NODE_MOVE)
+ {
+ start_move_child_element (parser, context, element_name,
+ attribute_names, attribute_values,
+ error);
+ }
+ else if (parser->stack_top->type == MENU_LAYOUT_NODE_LAYOUT ||
+ parser->stack_top->type == MENU_LAYOUT_NODE_DEFAULT_LAYOUT)
+ {
+ start_layout_child_element (parser, context, element_name,
+ attribute_names, attribute_values,
+ error);
+ }
+ else
+ {
+ set_error (error, context,
+ G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ELEMENT,
+ "Element <%s> may not appear in this context\n",
+ element_name);
+ }
+
+ add_context_to_error (error, context);
+}
+
+/* we want to make sure that the <Layout> or <DefaultLayout> is either empty,
+ * or contain one <Merge> of type "all", or contain one <Merge> of type "menus"
+ * and one <Merge> of type "files". If this is not the case, we try to clean up
+ * things:
+ * + if there is at least one <Merge> of type "all", then we only keep the
+ * last <Merge> of type "all" and remove all others <Merge>
+ * + if there is no <Merge> with type "all", we keep only the last <Merge> of
+ * type "menus" and the last <Merge> of type "files". If there's no <Merge>
+ * of type "menus" we append one, and then if there's no <Merge> of type
+ * "files", we append one. (So menus are before files)
+ */
+static gboolean
+fixup_layout_node (GMarkupParseContext *context,
+ MenuParser *parser,
+ MenuLayoutNode *node,
+ GError **error)
+{
+ MenuLayoutNode *child;
+ MenuLayoutNode *last_all;
+ MenuLayoutNode *last_menus;
+ MenuLayoutNode *last_files;
+ int n_all;
+ int n_menus;
+ int n_files;
+
+ if (!node->children)
+ {
+ return TRUE;
+ }
+
+ last_all = NULL;
+ last_menus = NULL;
+ last_files = NULL;
+ n_all = 0;
+ n_menus = 0;
+ n_files = 0;
+
+ child = node->children;
+ while (child != NULL)
+ {
+ switch (child->type)
+ {
+ case MENU_LAYOUT_NODE_MERGE:
+ switch (menu_layout_node_merge_get_type (child))
+ {
+ case MENU_LAYOUT_MERGE_NONE:
+ break;
+
+ case MENU_LAYOUT_MERGE_MENUS:
+ last_menus = child;
+ n_menus++;
+ break;
+
+ case MENU_LAYOUT_MERGE_FILES:
+ last_files = child;
+ n_files++;
+ break;
+
+ case MENU_LAYOUT_MERGE_ALL:
+ last_all = child;
+ n_all++;
+ break;
+
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ child = node_next (child);
+ }
+
+ if ((n_all == 1 && n_menus == 0 && n_files == 0) ||
+ (n_all == 0 && n_menus == 1 && n_files == 1))
+ {
+ return TRUE;
+ }
+ else if (n_all > 1 || n_menus > 1 || n_files > 1 ||
+ (n_all == 1 && (n_menus != 0 || n_files != 0)))
+ {
+ child = node->children;
+ while (child != NULL)
+ {
+ MenuLayoutNode *next;
+
+ next = node_next (child);
+
+ switch (child->type)
+ {
+ case MENU_LAYOUT_NODE_MERGE:
+ switch (menu_layout_node_merge_get_type (child))
+ {
+ case MENU_LAYOUT_MERGE_NONE:
+ break;
+
+ case MENU_LAYOUT_MERGE_MENUS:
+ if (n_all || last_menus != child)
+ {
+ menu_verbose ("removing duplicated merge menus element\n");
+ menu_layout_node_unlink (child);
+ }
+ break;
+
+ case MENU_LAYOUT_MERGE_FILES:
+ if (n_all || last_files != child)
+ {
+ menu_verbose ("removing duplicated merge files element\n");
+ menu_layout_node_unlink (child);
+ }
+ break;
+
+ case MENU_LAYOUT_MERGE_ALL:
+ if (last_all != child)
+ {
+ menu_verbose ("removing duplicated merge all element\n");
+ menu_layout_node_unlink (child);
+ }
+ break;
+
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ child = next;
+ }
+ }
+
+ if (n_all == 0 && n_menus == 0)
+ {
+ last_menus = menu_layout_node_new (MENU_LAYOUT_NODE_MERGE);
+ menu_layout_node_merge_set_type (last_menus, "menus");
+ menu_verbose ("appending missing merge menus element\n");
+ menu_layout_node_append_child (node, last_menus);
+ }
+
+ if (n_all == 0 && n_files == 0)
+ {
+ last_files = menu_layout_node_new (MENU_LAYOUT_NODE_MERGE);
+ menu_layout_node_merge_set_type (last_files, "files");
+ menu_verbose ("appending missing merge files element\n");
+ menu_layout_node_append_child (node, last_files);
+ }
+
+ return TRUE;
+}
+
+/* we want to a) check that we have old-new pairs and b) canonicalize
+ * such that each <Move> has exactly one old-new pair
+ */
+static gboolean
+fixup_move_node (GMarkupParseContext *context,
+ MenuParser *parser,
+ MenuLayoutNode *node,
+ GError **error)
+{
+ MenuLayoutNode *child;
+ int n_old;
+ int n_new;
+
+ n_old = 0;
+ n_new = 0;
+
+ child = node->children;
+ while (child != NULL)
+ {
+ switch (child->type)
+ {
+ case MENU_LAYOUT_NODE_OLD:
+ if (n_new != n_old)
+ {
+ set_error (error, context,
+ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
+ "<Old>/<New> elements not paired properly\n");
+ return FALSE;
+ }
+
+ n_old += 1;
+
+ break;
+
+ case MENU_LAYOUT_NODE_NEW:
+ n_new += 1;
+
+ if (n_new != n_old)
+ {
+ set_error (error, context,
+ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
+ "<Old>/<New> elements not paired properly\n");
+ return FALSE;
+ }
+
+ break;
+
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+
+ child = node_next (child);
+ }
+
+ if (n_new == 0 || n_old == 0)
+ {
+ set_error (error, context,
+ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
+ "<Old>/<New> elements missing under <Move>\n");
+ return FALSE;
+ }
+
+ g_assert (n_new == n_old);
+ g_assert ((n_new + n_old) % 2 == 0);
+
+ if (n_new > 1)
+ {
+ MenuLayoutNode *prev;
+ MenuLayoutNode *append_after;
+
+ /* Need to split the <Move> into multiple <Move> */
+
+ n_old = 0;
+ n_new = 0;
+ prev = NULL;
+ append_after = node;
+
+ child = node->children;
+ while (child != NULL)
+ {
+ MenuLayoutNode *next;
+
+ next = node_next (child);
+
+ switch (child->type)
+ {
+ case MENU_LAYOUT_NODE_OLD:
+ n_old += 1;
+ break;
+
+ case MENU_LAYOUT_NODE_NEW:
+ n_new += 1;
+ break;
+
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+
+ if (n_old == n_new &&
+ n_old > 1)
+ {
+ /* Move the just-completed pair */
+ MenuLayoutNode *new_move;
+
+ g_assert (prev != NULL);
+
+ new_move = menu_layout_node_new (MENU_LAYOUT_NODE_MOVE);
+ menu_verbose ("inserting new_move after append_after\n");
+ menu_layout_node_insert_after (append_after, new_move);
+ append_after = new_move;
+
+ menu_layout_node_steal (prev);
+ menu_layout_node_steal (child);
+
+ menu_verbose ("appending prev to new_move\n");
+ menu_layout_node_append_child (new_move, prev);
+ menu_verbose ("appending child to new_move\n");
+ menu_layout_node_append_child (new_move, child);
+
+ menu_verbose ("Created new move element old = %s new = %s\n",
+ menu_layout_node_move_get_old (new_move),
+ menu_layout_node_move_get_new (new_move));
+
+ menu_layout_node_unref (new_move);
+ menu_layout_node_unref (prev);
+ menu_layout_node_unref (child);
+
+ prev = NULL;
+ }
+ else
+ {
+ prev = child;
+ }
+
+ prev = child;
+ child = next;
+ }
+ }
+
+ return TRUE;
+}
+
+static void
+end_element_handler (GMarkupParseContext *context,
+ const char *element_name,
+ gpointer user_data,
+ GError **error)
+{
+ MenuParser *parser = user_data;
+
+ g_assert (parser->stack_top != NULL);
+
+ switch (parser->stack_top->type)
+ {
+ case MENU_LAYOUT_NODE_APP_DIR:
+ case MENU_LAYOUT_NODE_DIRECTORY_DIR:
+ case MENU_LAYOUT_NODE_NAME:
+ case MENU_LAYOUT_NODE_DIRECTORY:
+ case MENU_LAYOUT_NODE_FILENAME:
+ case MENU_LAYOUT_NODE_CATEGORY:
+ case MENU_LAYOUT_NODE_MERGE_DIR:
+ case MENU_LAYOUT_NODE_LEGACY_DIR:
+ case MENU_LAYOUT_NODE_OLD:
+ case MENU_LAYOUT_NODE_NEW:
+ case MENU_LAYOUT_NODE_MENUNAME:
+ if (menu_layout_node_get_content (parser->stack_top) == NULL)
+ {
+ set_error (error, context,
+ G_MARKUP_ERROR, G_MARKUP_ERROR_INVALID_CONTENT,
+ "Element <%s> is required to contain text and was empty\n",
+ element_name);
+ goto out;
+ }
+ break;
+
+ case MENU_LAYOUT_NODE_MENU:
+ if (!has_child_of_type (parser->stack_top, MENU_LAYOUT_NODE_NAME))
+ {
+ set_error (error, context,
+ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
+ "<Menu> elements are required to contain a <Name> element\n");
+ goto out;
+ }
+ break;
+
+ case MENU_LAYOUT_NODE_ROOT:
+ case MENU_LAYOUT_NODE_PASSTHROUGH:
+ case MENU_LAYOUT_NODE_DEFAULT_APP_DIRS:
+ case MENU_LAYOUT_NODE_DEFAULT_DIRECTORY_DIRS:
+ case MENU_LAYOUT_NODE_DEFAULT_MERGE_DIRS:
+ case MENU_LAYOUT_NODE_ONLY_UNALLOCATED:
+ case MENU_LAYOUT_NODE_NOT_ONLY_UNALLOCATED:
+ case MENU_LAYOUT_NODE_INCLUDE:
+ case MENU_LAYOUT_NODE_EXCLUDE:
+ case MENU_LAYOUT_NODE_ALL:
+ case MENU_LAYOUT_NODE_AND:
+ case MENU_LAYOUT_NODE_OR:
+ case MENU_LAYOUT_NODE_NOT:
+ case MENU_LAYOUT_NODE_KDE_LEGACY_DIRS:
+ case MENU_LAYOUT_NODE_DELETED:
+ case MENU_LAYOUT_NODE_NOT_DELETED:
+ case MENU_LAYOUT_NODE_SEPARATOR:
+ case MENU_LAYOUT_NODE_MERGE:
+ case MENU_LAYOUT_NODE_MERGE_FILE:
+ break;
+
+ case MENU_LAYOUT_NODE_LAYOUT:
+ case MENU_LAYOUT_NODE_DEFAULT_LAYOUT:
+ if (!fixup_layout_node (context, parser, parser->stack_top, error))
+ goto out;
+ break;
+
+ case MENU_LAYOUT_NODE_MOVE:
+ if (!fixup_move_node (context, parser, parser->stack_top, error))
+ goto out;
+ break;
+ }
+
+ out:
+ parser->stack_top = parser->stack_top->parent;
+}
+
+static gboolean
+all_whitespace (const char *text,
+ int text_len)
+{
+ const char *p;
+ const char *end;
+
+ p = text;
+ end = text + text_len;
+
+ while (p != end)
+ {
+ if (!g_ascii_isspace (*p))
+ return FALSE;
+
+ p = g_utf8_next_char (p);
+ }
+
+ return TRUE;
+}
+
+static void
+text_handler (GMarkupParseContext *context,
+ const char *text,
+ gsize text_len,
+ gpointer user_data,
+ GError **error)
+{
+ MenuParser *parser = user_data;
+
+ switch (parser->stack_top->type)
+ {
+ case MENU_LAYOUT_NODE_APP_DIR:
+ case MENU_LAYOUT_NODE_DIRECTORY_DIR:
+ case MENU_LAYOUT_NODE_NAME:
+ case MENU_LAYOUT_NODE_DIRECTORY:
+ case MENU_LAYOUT_NODE_FILENAME:
+ case MENU_LAYOUT_NODE_CATEGORY:
+ case MENU_LAYOUT_NODE_MERGE_FILE:
+ case MENU_LAYOUT_NODE_MERGE_DIR:
+ case MENU_LAYOUT_NODE_LEGACY_DIR:
+ case MENU_LAYOUT_NODE_OLD:
+ case MENU_LAYOUT_NODE_NEW:
+ case MENU_LAYOUT_NODE_MENUNAME:
+ g_assert (menu_layout_node_get_content (parser->stack_top) == NULL);
+
+ menu_layout_node_set_content (parser->stack_top, text);
+ break;
+
+ case MENU_LAYOUT_NODE_ROOT:
+ case MENU_LAYOUT_NODE_PASSTHROUGH:
+ case MENU_LAYOUT_NODE_MENU:
+ case MENU_LAYOUT_NODE_DEFAULT_APP_DIRS:
+ case MENU_LAYOUT_NODE_DEFAULT_DIRECTORY_DIRS:
+ case MENU_LAYOUT_NODE_DEFAULT_MERGE_DIRS:
+ case MENU_LAYOUT_NODE_ONLY_UNALLOCATED:
+ case MENU_LAYOUT_NODE_NOT_ONLY_UNALLOCATED:
+ case MENU_LAYOUT_NODE_INCLUDE:
+ case MENU_LAYOUT_NODE_EXCLUDE:
+ case MENU_LAYOUT_NODE_ALL:
+ case MENU_LAYOUT_NODE_AND:
+ case MENU_LAYOUT_NODE_OR:
+ case MENU_LAYOUT_NODE_NOT:
+ case MENU_LAYOUT_NODE_KDE_LEGACY_DIRS:
+ case MENU_LAYOUT_NODE_MOVE:
+ case MENU_LAYOUT_NODE_DELETED:
+ case MENU_LAYOUT_NODE_NOT_DELETED:
+ case MENU_LAYOUT_NODE_LAYOUT:
+ case MENU_LAYOUT_NODE_DEFAULT_LAYOUT:
+ case MENU_LAYOUT_NODE_SEPARATOR:
+ case MENU_LAYOUT_NODE_MERGE:
+ if (!all_whitespace (text, text_len))
+ {
+ set_error (error, context,
+ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
+ "No text is allowed inside element <%s>",
+ g_markup_parse_context_get_element (context));
+ }
+ break;
+ }
+
+ add_context_to_error (error, context);
+}
+
+static void
+passthrough_handler (GMarkupParseContext *context,
+ const char *passthrough_text,
+ gsize text_len,
+ gpointer user_data,
+ GError **error)
+{
+ MenuParser *parser = user_data;
+ MenuLayoutNode *node;
+
+ /* don't push passthrough on the stack, it's not an element */
+
+ node = menu_layout_node_new (MENU_LAYOUT_NODE_PASSTHROUGH);
+ menu_layout_node_set_content (node, passthrough_text);
+
+ menu_layout_node_append_child (parser->stack_top, node);
+ menu_layout_node_unref (node);
+
+ add_context_to_error (error, context);
+}
+
+static void
+menu_parser_init (MenuParser *parser)
+{
+ parser->root = menu_layout_node_new (MENU_LAYOUT_NODE_ROOT);
+ parser->stack_top = parser->root;
+}
+
+static void
+menu_parser_free (MenuParser *parser)
+{
+ if (parser->root)
+ menu_layout_node_unref (parser->root);
+}
+
+MenuLayoutNode *
+menu_layout_load (const char *filename,
+ const char *non_prefixed_basename,
+ GError **err)
+{
+ GMarkupParseContext *context;
+ MenuLayoutNodeRoot *root;
+ MenuLayoutNode *retval;
+ MenuParser parser;
+ GError *error;
+ GString *str;
+ char *text;
+ char *s;
+ gsize length;
+
+ text = NULL;
+ length = 0;
+ retval = NULL;
+ context = NULL;
+
+ menu_verbose ("Loading \"%s\" from disk\n", filename);
+
+ if (!g_file_get_contents (filename,
+ &text,
+ &length,
+ err))
+ {
+ menu_verbose ("Failed to load \"%s\"\n",
+ filename);
+ return NULL;
+ }
+
+ g_assert (text != NULL);
+
+ menu_parser_init (&parser);
+
+ root = (MenuLayoutNodeRoot *) parser.root;
+
+ root->basedir = g_path_get_dirname (filename);
+ menu_verbose ("Set basedir \"%s\"\n", root->basedir);
+
+ if (non_prefixed_basename)
+ s = g_strdup (non_prefixed_basename);
+ else
+ s = g_path_get_basename (filename);
+ str = g_string_new (s);
+ if (g_str_has_suffix (str->str, ".menu"))
+ g_string_truncate (str, str->len - strlen (".menu"));
+
+ root->name = str->str;
+ menu_verbose ("Set menu name \"%s\"\n", root->name);
+
+ g_string_free (str, FALSE);
+ g_free (s);
+
+ context = g_markup_parse_context_new (&menu_funcs, 0, &parser, NULL);
+
+ error = NULL;
+ if (!g_markup_parse_context_parse (context,
+ text,
+ length,
+ &error))
+ goto out;
+
+ error = NULL;
+ g_markup_parse_context_end_parse (context, &error);
+
+ out:
+ if (context)
+ g_markup_parse_context_free (context);
+ g_free (text);
+
+ if (error)
+ {
+ menu_verbose ("Error \"%s\" loading \"%s\"\n",
+ error->message, filename);
+ g_propagate_error (err, error);
+ }
+ else if (has_child_of_type (parser.root, MENU_LAYOUT_NODE_MENU))
+ {
+ menu_verbose ("File loaded OK\n");
+ retval = parser.root;
+ parser.root = NULL;
+ }
+ else
+ {
+ menu_verbose ("Did not have a root element in file\n");
+ g_set_error (err, G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
+ "Menu file %s did not contain a root <Menu> element",
+ filename);
+ }
+
+ menu_parser_free (&parser);
+
+ return retval;
+}
diff --git a/libmenu/menu-layout.h b/libmenu/menu-layout.h
new file mode 100644
index 0000000..4b63014
--- /dev/null
+++ b/libmenu/menu-layout.h
@@ -0,0 +1,161 @@
+/* Menu layout in-memory data structure (a custom "DOM tree") */
+
+/*
+ * Copyright (C) 2002 - 2004 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __MENU_LAYOUT_H__
+#define __MENU_LAYOUT_H__
+
+#include <glib.h>
+
+#include "entry-directories.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct MenuLayoutNode MenuLayoutNode;
+
+typedef enum {
+ MENU_LAYOUT_NODE_ROOT,
+ MENU_LAYOUT_NODE_PASSTHROUGH,
+ MENU_LAYOUT_NODE_MENU,
+ MENU_LAYOUT_NODE_APP_DIR,
+ MENU_LAYOUT_NODE_DEFAULT_APP_DIRS,
+ MENU_LAYOUT_NODE_DIRECTORY_DIR,
+ MENU_LAYOUT_NODE_DEFAULT_DIRECTORY_DIRS,
+ MENU_LAYOUT_NODE_DEFAULT_MERGE_DIRS,
+ MENU_LAYOUT_NODE_NAME,
+ MENU_LAYOUT_NODE_DIRECTORY,
+ MENU_LAYOUT_NODE_ONLY_UNALLOCATED,
+ MENU_LAYOUT_NODE_NOT_ONLY_UNALLOCATED,
+ MENU_LAYOUT_NODE_INCLUDE,
+ MENU_LAYOUT_NODE_EXCLUDE,
+ MENU_LAYOUT_NODE_FILENAME,
+ MENU_LAYOUT_NODE_CATEGORY,
+ MENU_LAYOUT_NODE_ALL,
+ MENU_LAYOUT_NODE_AND,
+ MENU_LAYOUT_NODE_OR,
+ MENU_LAYOUT_NODE_NOT,
+ MENU_LAYOUT_NODE_MERGE_FILE,
+ MENU_LAYOUT_NODE_MERGE_DIR,
+ MENU_LAYOUT_NODE_LEGACY_DIR,
+ MENU_LAYOUT_NODE_KDE_LEGACY_DIRS,
+ MENU_LAYOUT_NODE_MOVE,
+ MENU_LAYOUT_NODE_OLD,
+ MENU_LAYOUT_NODE_NEW,
+ MENU_LAYOUT_NODE_DELETED,
+ MENU_LAYOUT_NODE_NOT_DELETED,
+ MENU_LAYOUT_NODE_LAYOUT,
+ MENU_LAYOUT_NODE_DEFAULT_LAYOUT,
+ MENU_LAYOUT_NODE_MENUNAME,
+ MENU_LAYOUT_NODE_SEPARATOR,
+ MENU_LAYOUT_NODE_MERGE
+} MenuLayoutNodeType;
+
+typedef enum {
+ MENU_MERGE_FILE_TYPE_PATH = 0,
+ MENU_MERGE_FILE_TYPE_PARENT
+} MenuMergeFileType;
+
+typedef enum {
+ MENU_LAYOUT_MERGE_NONE,
+ MENU_LAYOUT_MERGE_MENUS,
+ MENU_LAYOUT_MERGE_FILES,
+ MENU_LAYOUT_MERGE_ALL
+} MenuLayoutMergeType;
+
+typedef enum {
+ MENU_LAYOUT_VALUES_NONE = 0,
+ MENU_LAYOUT_VALUES_SHOW_EMPTY = 1 << 0,
+ MENU_LAYOUT_VALUES_INLINE_MENUS = 1 << 1,
+ MENU_LAYOUT_VALUES_INLINE_LIMIT = 1 << 2,
+ MENU_LAYOUT_VALUES_INLINE_HEADER = 1 << 3,
+ MENU_LAYOUT_VALUES_INLINE_ALIAS = 1 << 4
+} MenuLayoutValuesMask;
+
+typedef struct {
+ MenuLayoutValuesMask mask;
+
+ guint show_empty: 1;
+ guint inline_menus: 1;
+ guint inline_header: 1;
+ guint inline_alias: 1;
+
+ guint inline_limit;
+} MenuLayoutValues;
+
+
+MenuLayoutNode *menu_layout_load (const char* filename, const char *non_prefixed_basename, GError** error);
+
+MenuLayoutNode *menu_layout_node_new (MenuLayoutNodeType type);
+MenuLayoutNode *menu_layout_node_ref (MenuLayoutNode *node);
+void menu_layout_node_unref (MenuLayoutNode *node);
+
+MenuLayoutNodeType menu_layout_node_get_type (MenuLayoutNode *node);
+
+MenuLayoutNode *menu_layout_node_get_root (MenuLayoutNode *node);
+MenuLayoutNode *menu_layout_node_get_parent (MenuLayoutNode *node);
+MenuLayoutNode *menu_layout_node_get_children (MenuLayoutNode *node);
+MenuLayoutNode *menu_layout_node_get_next (MenuLayoutNode *node);
+
+void menu_layout_node_insert_before (MenuLayoutNode *node, MenuLayoutNode *new_sibling);
+void menu_layout_node_insert_after (MenuLayoutNode *node, MenuLayoutNode *new_sibling);
+void menu_layout_node_prepend_child (MenuLayoutNode *parent, MenuLayoutNode *new_child);
+void menu_layout_node_append_child (MenuLayoutNode *parent, MenuLayoutNode *new_child);
+
+void menu_layout_node_unlink (MenuLayoutNode *node);
+void menu_layout_node_steal (MenuLayoutNode *node);
+
+const char *menu_layout_node_get_content (MenuLayoutNode *node);
+void menu_layout_node_set_content (MenuLayoutNode *node, const char *content);
+
+char *menu_layout_node_get_content_as_path (MenuLayoutNode *node);
+
+const char *menu_layout_node_root_get_name (MenuLayoutNode *node);
+const char *menu_layout_node_root_get_basedir (MenuLayoutNode *node);
+
+const char *menu_layout_node_menu_get_name (MenuLayoutNode *node);
+EntryDirectoryList *menu_layout_node_menu_get_app_dirs (MenuLayoutNode *node);
+EntryDirectoryList *menu_layout_node_menu_get_directory_dirs (MenuLayoutNode *node);
+
+const char *menu_layout_node_move_get_old (MenuLayoutNode *node);
+const char *menu_layout_node_move_get_new (MenuLayoutNode *node);
+
+const char *menu_layout_node_legacy_dir_get_prefix (MenuLayoutNode *node);
+void menu_layout_node_legacy_dir_set_prefix (MenuLayoutNode *node, const char *prefix);
+
+MenuMergeFileType menu_layout_node_merge_file_get_type (MenuLayoutNode *node);
+void menu_layout_node_merge_file_set_type (MenuLayoutNode *node, MenuMergeFileType type);
+
+MenuLayoutMergeType menu_layout_node_merge_get_type (MenuLayoutNode *node);
+
+void menu_layout_node_default_layout_get_values (MenuLayoutNode *node, MenuLayoutValues *values);
+void menu_layout_node_menuname_get_values (MenuLayoutNode *node, MenuLayoutValues *values);
+
+typedef void (*MenuLayoutNodeEntriesChangedFunc) (MenuLayoutNode* node, gpointer user_data);
+
+void menu_layout_node_root_add_entries_monitor (MenuLayoutNode* node, MenuLayoutNodeEntriesChangedFunc callback, gpointer user_data);
+void menu_layout_node_root_remove_entries_monitor (MenuLayoutNode* node, MenuLayoutNodeEntriesChangedFunc callback, gpointer user_data);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __MENU_LAYOUT_H__ */
diff --git a/libmenu/menu-monitor.c b/libmenu/menu-monitor.c
new file mode 100644
index 0000000..ff36010
--- /dev/null
+++ b/libmenu/menu-monitor.c
@@ -0,0 +1,440 @@
+/*
+ * Copyright (C) 2005 Red Hat, Inc.
+ * Copyright (C) 2006 Mark McLoughlin
+ * Copyright (C) 2007 Sebastian Dröge
+ * Copyright (C) 2008 Vincent Untz
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <config.h>
+
+#include "menu-monitor.h"
+
+#include <gio/gio.h>
+
+#include "menu-util.h"
+
+struct MenuMonitor {
+ char* path;
+ guint refcount;
+
+ GSList* notifies;
+
+ GFileMonitor* monitor;
+
+ guint is_directory: 1;
+};
+
+typedef struct {
+ MenuMonitor* monitor;
+ MenuMonitorEvent event;
+ char* path;
+} MenuMonitorEventInfo;
+
+typedef struct {
+ MenuMonitorNotifyFunc notify_func;
+ gpointer user_data;
+ guint refcount;
+} MenuMonitorNotify;
+
+static MenuMonitorNotify* mate_menu_monitor_notify_ref(MenuMonitorNotify* notify);
+static void mate_menu_monitor_notify_unref(MenuMonitorNotify* notify);
+
+static GHashTable* monitors_registry = NULL;
+static guint events_idle_handler = 0;
+static GSList* pending_events = NULL;
+
+static void invoke_notifies(MenuMonitor* monitor, MenuMonitorEvent event, const char* path)
+{
+ GSList *copy;
+ GSList *tmp;
+
+ copy = g_slist_copy (monitor->notifies);
+ g_slist_foreach (copy,
+ (GFunc) mate_menu_monitor_notify_ref,
+ NULL);
+
+ tmp = copy;
+ while (tmp != NULL)
+ {
+ MenuMonitorNotify *notify = tmp->data;
+ GSList *next = tmp->next;
+
+ if (notify->notify_func)
+ {
+ notify->notify_func (monitor, event, path, notify->user_data);
+ }
+
+ mate_menu_monitor_notify_unref(notify);
+
+ tmp = next;
+ }
+
+ g_slist_free (copy);
+}
+
+static gboolean emit_events_in_idle(void)
+{
+ GSList *events_to_emit;
+ GSList *tmp;
+
+ events_to_emit = pending_events;
+
+ pending_events = NULL;
+ events_idle_handler = 0;
+
+ tmp = events_to_emit;
+ while (tmp != NULL)
+ {
+ MenuMonitorEventInfo *event_info = tmp->data;
+
+ mate_menu_monitor_ref(event_info->monitor);
+
+ tmp = tmp->next;
+ }
+
+ tmp = events_to_emit;
+ while (tmp != NULL)
+ {
+ MenuMonitorEventInfo *event_info = tmp->data;
+
+ invoke_notifies (event_info->monitor,
+ event_info->event,
+ event_info->path);
+
+ menu_monitor_unref (event_info->monitor);
+ event_info->monitor = NULL;
+
+ g_free (event_info->path);
+ event_info->path = NULL;
+
+ event_info->event = MENU_MONITOR_EVENT_INVALID;
+
+ g_free (event_info);
+
+ tmp = tmp->next;
+ }
+
+ g_slist_free (events_to_emit);
+
+ return FALSE;
+}
+
+static void menu_monitor_queue_event(MenuMonitorEventInfo* event_info)
+{
+ pending_events = g_slist_append (pending_events, event_info);
+
+ if (events_idle_handler == 0)
+ {
+ events_idle_handler = g_idle_add ((GSourceFunc) emit_events_in_idle, NULL);
+ }
+}
+
+static inline char* get_registry_key(const char* path, gboolean is_directory)
+{
+ return g_strdup_printf ("%s:%s",
+ path,
+ is_directory ? "<dir>" : "<file>");
+}
+
+static gboolean monitor_callback (GFileMonitor* monitor, GFile* child, GFile* other_file, GFileMonitorEvent eflags, gpointer user_data)
+{
+ MenuMonitorEventInfo *event_info;
+ MenuMonitorEvent event;
+ MenuMonitor *menu_monitor = (MenuMonitor *) user_data;
+
+ event = MENU_MONITOR_EVENT_INVALID;
+ switch (eflags)
+ {
+ case G_FILE_MONITOR_EVENT_CHANGED:
+ event = MENU_MONITOR_EVENT_CHANGED;
+ break;
+ case G_FILE_MONITOR_EVENT_CREATED:
+ event = MENU_MONITOR_EVENT_CREATED;
+ break;
+ case G_FILE_MONITOR_EVENT_DELETED:
+ event = MENU_MONITOR_EVENT_DELETED;
+ break;
+ default:
+ return TRUE;
+ }
+
+ event_info = g_new0 (MenuMonitorEventInfo, 1);
+
+ event_info->path = g_file_get_path (child);
+ event_info->event = event;
+ event_info->monitor = menu_monitor;
+
+ menu_monitor_queue_event (event_info);
+
+ return TRUE;
+}
+
+static MenuMonitor* register_monitor(const char* path, gboolean is_directory)
+{
+ static gboolean initted = FALSE;
+ MenuMonitor *retval;
+ GFile *file;
+
+ if (!initted)
+ {
+ /* This is the only place where we're using GObject and the app can't
+ * know we're using it, so we need to init the type system ourselves. */
+ g_type_init ();
+ initted = TRUE;
+ }
+
+ retval = g_new0 (MenuMonitor, 1);
+
+ retval->path = g_strdup (path);
+ retval->refcount = 1;
+ retval->is_directory = is_directory != FALSE;
+
+ file = g_file_new_for_path (retval->path);
+
+ if (file == NULL)
+ {
+ menu_verbose ("Not adding monitor on '%s', failed to create GFile\n",
+ retval->path);
+ return retval;
+ }
+
+ if (retval->is_directory)
+ retval->monitor = g_file_monitor_directory (file, G_FILE_MONITOR_NONE,
+ NULL, NULL);
+ else
+ retval->monitor = g_file_monitor_file (file, G_FILE_MONITOR_NONE,
+ NULL, NULL);
+
+ g_object_unref (G_OBJECT (file));
+
+ if (retval->monitor == NULL)
+ {
+ menu_verbose ("Not adding monitor on '%s', failed to create monitor\n",
+ retval->path);
+ return retval;
+ }
+
+ g_signal_connect (retval->monitor, "changed",
+ G_CALLBACK (monitor_callback), retval);
+
+ return retval;
+}
+
+static MenuMonitor* lookup_monitor(const char* path, gboolean is_directory)
+{
+ MenuMonitor *retval;
+ char *registry_key;
+
+ retval = NULL;
+
+ registry_key = get_registry_key (path, is_directory);
+
+ if (monitors_registry == NULL)
+ {
+ monitors_registry = g_hash_table_new_full (g_str_hash,
+ g_str_equal,
+ g_free,
+ NULL);
+ }
+ else
+ {
+ retval = g_hash_table_lookup (monitors_registry, registry_key);
+ }
+
+ if (retval == NULL)
+ {
+ retval = register_monitor (path, is_directory);
+ g_hash_table_insert (monitors_registry, registry_key, retval);
+
+ return retval;
+ }
+ else
+ {
+ g_free (registry_key);
+
+ return mate_menu_monitor_ref(retval);
+ }
+}
+
+MenuMonitor* mate_menu_monitor_file_get(const char* path)
+{
+ g_return_val_if_fail(path != NULL, NULL);
+
+ return lookup_monitor(path, FALSE);
+}
+
+MenuMonitor* menu_get_directory_monitor(const char* path)
+{
+ g_return_val_if_fail (path != NULL, NULL);
+
+ return lookup_monitor (path, TRUE);
+}
+
+MenuMonitor* mate_menu_monitor_ref(MenuMonitor* monitor)
+{
+ g_return_val_if_fail(monitor != NULL, NULL);
+ g_return_val_if_fail(monitor->refcount > 0, NULL);
+
+ monitor->refcount++;
+
+ return monitor;
+}
+
+static void menu_monitor_clear_pending_events(MenuMonitor* monitor)
+{
+ GSList *tmp;
+
+ tmp = pending_events;
+ while (tmp != NULL)
+ {
+ MenuMonitorEventInfo *event_info = tmp->data;
+ GSList *next = tmp->next;
+
+ if (event_info->monitor == monitor)
+ {
+ pending_events = g_slist_delete_link (pending_events, tmp);
+
+ g_free (event_info->path);
+ event_info->path = NULL;
+
+ event_info->monitor = NULL;
+ event_info->event = MENU_MONITOR_EVENT_INVALID;
+
+ g_free (event_info);
+ }
+
+ tmp = next;
+ }
+}
+
+void menu_monitor_unref(MenuMonitor* monitor)
+{
+ char *registry_key;
+
+ g_return_if_fail (monitor != NULL);
+ g_return_if_fail (monitor->refcount > 0);
+
+ if (--monitor->refcount > 0)
+ return;
+
+ registry_key = get_registry_key (monitor->path, monitor->is_directory);
+ g_hash_table_remove (monitors_registry, registry_key);
+ g_free (registry_key);
+
+ if (g_hash_table_size (monitors_registry) == 0)
+ {
+ g_hash_table_destroy (monitors_registry);
+ monitors_registry = NULL;
+ }
+
+ if (monitor->monitor)
+ {
+ g_file_monitor_cancel (monitor->monitor);
+ g_object_unref (monitor->monitor);
+ monitor->monitor = NULL;
+ }
+
+ g_slist_foreach (monitor->notifies, (GFunc) mate_menu_monitor_notify_unref, NULL);
+ g_slist_free (monitor->notifies);
+ monitor->notifies = NULL;
+
+ menu_monitor_clear_pending_events (monitor);
+
+ g_free (monitor->path);
+ monitor->path = NULL;
+
+ g_free (monitor);
+}
+
+static MenuMonitorNotify* mate_menu_monitor_notify_ref(MenuMonitorNotify* notify)
+{
+ g_return_val_if_fail(notify != NULL, NULL);
+ g_return_val_if_fail(notify->refcount > 0, NULL);
+
+ notify->refcount++;
+
+ return notify;
+}
+
+static void mate_menu_monitor_notify_unref(MenuMonitorNotify* notify)
+{
+ g_return_if_fail(notify != NULL);
+ g_return_if_fail(notify->refcount > 0);
+
+ if (--notify->refcount > 0)
+ {
+ return;
+ }
+
+ g_free(notify);
+}
+
+void menu_monitor_add_notify(MenuMonitor* monitor, MenuMonitorNotifyFunc notify_func, gpointer user_data)
+{
+ MenuMonitorNotify* notify;
+
+ g_return_if_fail(monitor != NULL);
+ g_return_if_fail(notify_func != NULL);
+
+ GSList* tmp = monitor->notifies;
+
+ while (tmp != NULL)
+ {
+ notify = tmp->data;
+
+ if (notify->notify_func == notify_func && notify->user_data == user_data)
+ {
+ break;
+ }
+
+ tmp = tmp->next;
+ }
+
+ if (tmp == NULL)
+ {
+ notify = g_new0(MenuMonitorNotify, 1);
+ notify->notify_func = notify_func;
+ notify->user_data = user_data;
+ notify->refcount = 1;
+
+ monitor->notifies = g_slist_append(monitor->notifies, notify);
+ }
+}
+
+void mate_menu_monitor_notify_remove(MenuMonitor* monitor, MenuMonitorNotifyFunc notify_func, gpointer user_data)
+{
+ GSList* tmp = monitor->notifies;
+
+ while (tmp != NULL)
+ {
+ MenuMonitorNotify* notify = tmp->data;
+ GSList* next = tmp->next;
+
+ if (notify->notify_func == notify_func && notify->user_data == user_data)
+ {
+ notify->notify_func = NULL;
+ notify->user_data = NULL;
+
+ mate_menu_monitor_notify_unref(notify);
+
+ monitor->notifies = g_slist_delete_link(monitor->notifies, tmp);
+ }
+
+ tmp = next;
+ }
+}
diff --git a/libmenu/menu-monitor.h b/libmenu/menu-monitor.h
new file mode 100644
index 0000000..1dbf6ba
--- /dev/null
+++ b/libmenu/menu-monitor.h
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2005 Red Hat, Inc.
+ * Copyright (C) 2011 Perberos
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __MENU_MONITOR_H__
+#define __MENU_MONITOR_H__
+
+#include <glib.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct MenuMonitor MenuMonitor;
+
+typedef enum {
+ MENU_MONITOR_EVENT_INVALID = 0,
+ MENU_MONITOR_EVENT_CREATED = 1,
+ MENU_MONITOR_EVENT_DELETED = 2,
+ MENU_MONITOR_EVENT_CHANGED = 3
+} MenuMonitorEvent;
+
+typedef void (*MenuMonitorNotifyFunc) (MenuMonitor* monitor, MenuMonitorEvent event, const char* path, gpointer user_data);
+
+
+MenuMonitor* menu_get_file_monitor(const char* path);
+MenuMonitor* menu_get_directory_monitor(const char* path);
+
+MenuMonitor* menu_monitor_ref(MenuMonitor* monitor);
+void menu_monitor_unref(MenuMonitor* monitor);
+
+void menu_monitor_add_notify(MenuMonitor* monitor, MenuMonitorNotifyFunc notify_func, gpointer user_data);
+void menu_monitor_remove_notify(MenuMonitor* monitor, MenuMonitorNotifyFunc notify_func, gpointer user_data);
+
+
+/* Izquierda a derecha
+ */
+
+#define mate_menu_monitor_file_get menu_get_file_monitor
+#define mate_menu_monitor_directory_get menu_get_directory_monitor
+
+#define mate_menu_monitor_ref menu_monitor_ref
+#define mate_menu_monitor_unref menu_monitor_unref
+
+#define mate_menu_monitor_notify_add menu_monitor_add_notify
+#define mate_menu_monitor_notify_remove menu_monitor_remove_notify
+#define mate_menu_monitor_notify_ref menu_monitor_notify_ref /* private */
+#define mate_menu_monitor_notify_unref menu_monitor_notify_unref /* private */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __MENU_MONITOR_H__ */
diff --git a/libmenu/menu-util.c b/libmenu/menu-util.c
new file mode 100644
index 0000000..2f992b0
--- /dev/null
+++ b/libmenu/menu-util.c
@@ -0,0 +1,436 @@
+/* Random utility functions for menu code */
+
+/*
+ * Copyright (C) 2003 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <config.h>
+
+#include "menu-util.h"
+
+#include <stdio.h>
+#include <stdarg.h>
+
+
+#ifdef G_ENABLE_DEBUG
+
+static gboolean verbose = FALSE;
+static gboolean initted = FALSE;
+
+static inline gboolean menu_verbose_enabled(void)
+{
+ if (!initted)
+ {
+ verbose = g_getenv("MENU_VERBOSE") != NULL;
+ initted = TRUE;
+ }
+
+ return verbose;
+}
+
+static int utf8_fputs(const char* str, FILE* f)
+{
+ char* l;
+ int ret;
+
+ l = g_locale_from_utf8(str, -1, NULL, NULL, NULL);
+
+ if (l == NULL)
+ {
+ ret = fputs(str, f); /* just print it anyway, better than nothing */
+ }
+ else
+ {
+ ret = fputs(l, f);
+ }
+
+ g_free(l);
+
+ return ret;
+}
+
+void menu_verbose(const char* format, ...)
+{
+ va_list args;
+ char* str;
+
+ if (!menu_verbose_enabled())
+ {
+ return;
+ }
+
+ va_start(args, format);
+ str = g_strdup_vprintf(format, args);
+ va_end(args);
+
+ utf8_fputs(str, stderr);
+ fflush(stderr);
+
+ g_free(str);
+}
+
+static void append_to_string(MenuLayoutNode* node, gboolean onelevel, int depth, GString* str);
+
+static void append_spaces(GString* str, int depth)
+{
+ while (depth > 0)
+ {
+ g_string_append_c(str, ' ');
+ --depth;
+ }
+}
+
+static void append_children(MenuLayoutNode* node, int depth, GString* str)
+{
+ MenuLayoutNode* iter;
+
+ iter = menu_layout_node_get_children(node);
+
+ while (iter != NULL)
+ {
+ append_to_string(iter, FALSE, depth, str);
+
+ iter = menu_layout_node_get_next(iter);
+ }
+}
+
+static void append_simple_with_attr(MenuLayoutNode* node, int depth, const char* node_name, const char* attr_name, const char* attr_value, GString* str)
+{
+ const char* content;
+
+ append_spaces(str, depth);
+
+ if ((content = menu_layout_node_get_content(node)))
+ {
+ char* escaped;
+
+ escaped = g_markup_escape_text(content, -1);
+
+ if (attr_name && attr_value)
+ {
+ char* attr_escaped;
+
+ attr_escaped = g_markup_escape_text(attr_value, -1);
+
+ g_string_append_printf(str, "<%s %s=\"%s\">%s</%s>\n", node_name, attr_name, attr_escaped, escaped, node_name);
+
+ g_free(attr_escaped);
+ }
+ else
+ {
+ g_string_append_printf(str, "<%s>%s</%s>\n", node_name, escaped, node_name);
+ }
+
+ g_free(escaped);
+ }
+ else
+ {
+ if (attr_name && attr_value)
+ {
+ char* attr_escaped;
+
+ attr_escaped = g_markup_escape_text(attr_value, -1);
+
+ g_string_append_printf(str, "<%s %s=\"%s\"/>\n", node_name, attr_name, attr_escaped);
+
+ g_free(attr_escaped);
+ }
+ else
+ {
+ g_string_append_printf(str, "<%s/>\n", node_name);
+ }
+ }
+}
+
+static void append_layout(MenuLayoutNode* node, int depth, const char* node_name, MenuLayoutValues* layout_values, GString* str)
+{
+ const char* content;
+
+ append_spaces(str, depth);
+
+ if ((content = menu_layout_node_get_content(node)))
+ {
+ char* escaped;
+
+ escaped = g_markup_escape_text(content, -1);
+
+ g_string_append_printf(str,
+ "<%s show_empty=\"%s\" inline=\"%s\" inline_header=\"%s\""
+ " inline_alias=\"%s\" inline_limit=\"%d\">%s</%s>\n",
+ node_name,
+ layout_values->show_empty ? "true" : "false",
+ layout_values->inline_menus ? "true" : "false",
+ layout_values->inline_header ? "true" : "false",
+ layout_values->inline_alias ? "true" : "false",
+ layout_values->inline_limit,
+ escaped,
+ node_name);
+
+ g_free(escaped);
+ }
+ else
+ {
+ g_string_append_printf(str,
+ "<%s show_empty=\"%s\" inline=\"%s\" inline_header=\"%s\""
+ " inline_alias=\"%s\" inline_limit=\"%d\"/>\n",
+ node_name,
+ layout_values->show_empty ? "true" : "false",
+ layout_values->inline_menus ? "true" : "false",
+ layout_values->inline_header ? "true" : "false",
+ layout_values->inline_alias ? "true" : "false",
+ layout_values->inline_limit);
+ }
+}
+
+static void append_merge(MenuLayoutNode* node, int depth, const char* node_name, MenuLayoutMergeType merge_type, GString* str)
+{
+ const char* merge_type_str;
+
+ merge_type_str = NULL;
+
+ switch (merge_type)
+ {
+ case MENU_LAYOUT_MERGE_NONE:
+ merge_type_str = "none";
+ break;
+
+ case MENU_LAYOUT_MERGE_MENUS:
+ merge_type_str = "menus";
+ break;
+
+ case MENU_LAYOUT_MERGE_FILES:
+ merge_type_str = "files";
+ break;
+
+ case MENU_LAYOUT_MERGE_ALL:
+ merge_type_str = "all";
+ break;
+
+ default:
+ g_assert_not_reached();
+ break;
+ }
+
+ append_simple_with_attr(node, depth, node_name, "type", merge_type_str, str);
+}
+
+static void append_simple(MenuLayoutNode* node, int depth, const char* node_name, GString* str)
+{
+ append_simple_with_attr(node, depth, node_name, NULL, NULL, str);
+}
+
+static void append_start(MenuLayoutNode* node, int depth, const char* node_name, GString* str)
+{
+ append_spaces(str, depth);
+
+ g_string_append_printf(str, "<%s>\n", node_name);
+}
+
+static void append_end(MenuLayoutNode* node, int depth, const char* node_name, GString* str)
+{
+ append_spaces(str, depth);
+
+ g_string_append_printf(str, "</%s>\n", node_name);
+}
+
+static void append_container(MenuLayoutNode* node, gboolean onelevel, int depth, const char* node_name, GString* str)
+{
+ append_start(node, depth, node_name, str);
+
+ if (!onelevel)
+ {
+ append_children(node, depth + 2, str);
+ append_end(node, depth, node_name, str);
+ }
+}
+
+static void append_to_string(MenuLayoutNode* node, gboolean onelevel, int depth, GString* str)
+{
+ MenuLayoutValues layout_values;
+
+ switch (menu_layout_node_get_type(node))
+ {
+ case MENU_LAYOUT_NODE_ROOT:
+ if (!onelevel)
+ append_children(node, depth - 1, str); /* -1 to ignore depth of root */
+ else
+ append_start(node, depth - 1, "Root", str);
+ break;
+
+ case MENU_LAYOUT_NODE_PASSTHROUGH:
+ g_string_append(str, menu_layout_node_get_content(node));
+ g_string_append_c(str, '\n');
+ break;
+
+ case MENU_LAYOUT_NODE_MENU:
+ append_container(node, onelevel, depth, "Menu", str);
+ break;
+
+ case MENU_LAYOUT_NODE_APP_DIR:
+ append_simple(node, depth, "AppDir", str);
+ break;
+
+ case MENU_LAYOUT_NODE_DEFAULT_APP_DIRS:
+ append_simple(node, depth, "DefaultAppDirs", str);
+ break;
+
+ case MENU_LAYOUT_NODE_DIRECTORY_DIR:
+ append_simple(node, depth, "DirectoryDir", str);
+ break;
+
+ case MENU_LAYOUT_NODE_DEFAULT_DIRECTORY_DIRS:
+ append_simple(node, depth, "DefaultDirectoryDirs", str);
+ break;
+
+ case MENU_LAYOUT_NODE_DEFAULT_MERGE_DIRS:
+ append_simple(node, depth, "DefaultMergeDirs", str);
+ break;
+
+ case MENU_LAYOUT_NODE_NAME:
+ append_simple(node, depth, "Name", str);
+ break;
+
+ case MENU_LAYOUT_NODE_DIRECTORY:
+ append_simple(node, depth, "Directory", str);
+ break;
+
+ case MENU_LAYOUT_NODE_ONLY_UNALLOCATED:
+ append_simple(node, depth, "OnlyUnallocated", str);
+ break;
+
+ case MENU_LAYOUT_NODE_NOT_ONLY_UNALLOCATED:
+ append_simple(node, depth, "NotOnlyUnallocated", str);
+ break;
+
+ case MENU_LAYOUT_NODE_INCLUDE:
+ append_container(node, onelevel, depth, "Include", str);
+ break;
+
+ case MENU_LAYOUT_NODE_EXCLUDE:
+ append_container(node, onelevel, depth, "Exclude", str);
+ break;
+
+ case MENU_LAYOUT_NODE_FILENAME:
+ append_simple(node, depth, "Filename", str);
+ break;
+
+ case MENU_LAYOUT_NODE_CATEGORY:
+ append_simple(node, depth, "Category", str);
+ break;
+
+ case MENU_LAYOUT_NODE_ALL:
+ append_simple(node, depth, "All", str);
+ break;
+
+ case MENU_LAYOUT_NODE_AND:
+ append_container(node, onelevel, depth, "And", str);
+ break;
+
+ case MENU_LAYOUT_NODE_OR:
+ append_container(node, onelevel, depth, "Or", str);
+ break;
+
+ case MENU_LAYOUT_NODE_NOT:
+ append_container(node, onelevel, depth, "Not", str);
+ break;
+
+ case MENU_LAYOUT_NODE_MERGE_FILE:
+ {
+ MenuMergeFileType type;
+
+ type = menu_layout_node_merge_file_get_type(node);
+
+ append_simple_with_attr(node, depth, "MergeFile", "type", type == MENU_MERGE_FILE_TYPE_PARENT ? "parent" : "path", str);
+ break;
+ }
+
+ case MENU_LAYOUT_NODE_MERGE_DIR:
+ append_simple(node, depth, "MergeDir", str);
+ break;
+
+ case MENU_LAYOUT_NODE_LEGACY_DIR:
+ append_simple_with_attr(node, depth, "LegacyDir", "prefix", menu_layout_node_legacy_dir_get_prefix (node), str);
+ break;
+
+ case MENU_LAYOUT_NODE_KDE_LEGACY_DIRS:
+ append_simple(node, depth, "KDELegacyDirs", str);
+ break;
+
+ case MENU_LAYOUT_NODE_MOVE:
+ append_container(node, onelevel, depth, "Move", str);
+ break;
+
+ case MENU_LAYOUT_NODE_OLD:
+ append_simple(node, depth, "Old", str);
+ break;
+
+ case MENU_LAYOUT_NODE_NEW:
+ append_simple(node, depth, "New", str);
+ break;
+
+ case MENU_LAYOUT_NODE_DELETED:
+ append_simple(node, depth, "Deleted", str);
+ break;
+
+ case MENU_LAYOUT_NODE_NOT_DELETED:
+ append_simple(node, depth, "NotDeleted", str);
+ break;
+
+ case MENU_LAYOUT_NODE_LAYOUT:
+ append_container(node, onelevel, depth, "Layout", str);
+ break;
+
+ case MENU_LAYOUT_NODE_DEFAULT_LAYOUT:
+ menu_layout_node_default_layout_get_values(node, &layout_values);
+ append_layout(node, depth, "DefaultLayout", &layout_values, str);
+ break;
+
+ case MENU_LAYOUT_NODE_MENUNAME:
+ menu_layout_node_menuname_get_values(node, &layout_values);
+ append_layout(node, depth, "MenuName", &layout_values, str);
+ break;
+
+ case MENU_LAYOUT_NODE_SEPARATOR:
+ append_simple(node, depth, "Name", str);
+ break;
+
+ case MENU_LAYOUT_NODE_MERGE:
+ append_merge(node, depth, "Merge", menu_layout_node_merge_get_type(node), str);
+ break;
+
+ default:
+ g_assert_not_reached();
+ break;
+ }
+}
+
+void menu_debug_print_layout(MenuLayoutNode* node, gboolean onelevel)
+{
+ if (menu_verbose_enabled())
+ {
+ GString* str = g_string_new(NULL);
+ append_to_string(node, onelevel, 0, str);
+
+ utf8_fputs(str->str, stderr);
+ fflush(stderr);
+
+ g_string_free(str, TRUE);
+ }
+}
+
+#endif /* G_ENABLE_DEBUG */
diff --git a/libmenu/menu-util.h b/libmenu/menu-util.h
new file mode 100644
index 0000000..035f0e9
--- /dev/null
+++ b/libmenu/menu-util.h
@@ -0,0 +1,59 @@
+/* Random utility functions for menu code */
+
+/*
+ * Copyright (C) 2003 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __MENU_UTIL_H__
+#define __MENU_UTIL_H__
+
+#include <glib.h>
+
+#include "menu-layout.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+
+#ifdef G_ENABLE_DEBUG
+
+ void menu_verbose(const char* format, ...) G_GNUC_PRINTF(1, 2);
+
+ void menu_debug_print_layout(MenuLayoutNode* node, gboolean onelevel);
+
+#else /* !defined(G_ENABLE_DEBUG) */
+
+ #ifdef G_HAVE_ISO_VARARGS
+ #define menu_verbose(...)
+ #elif defined(G_HAVE_GNUC_VARARGS)
+ #define menu_verbose(format...)
+ #else
+ #error "Cannot disable verbose mode due to lack of varargs macros"
+ #endif
+
+ #define menu_debug_print_layout(n, o)
+
+#endif /* G_ENABLE_DEBUG */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __MENU_UTIL_H__ */
diff --git a/m4/intltool.m4 b/m4/intltool.m4
new file mode 100644
index 0000000..839e855
--- /dev/null
+++ b/m4/intltool.m4
@@ -0,0 +1,216 @@
+## intltool.m4 - Configure intltool for the target system. -*-Shell-script-*-
+## Copyright (C) 2001 Eazel, Inc.
+## Author: Maciej Stachowiak <[email protected]>
+## Kenneth Christiansen <[email protected]>
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+##
+## As a special exception to the GNU General Public License, if you
+## distribute this file as part of a program that contains a
+## configuration script generated by Autoconf, you may include it under
+## the same distribution terms that you use for the rest of that program.
+
+dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml])
+# serial 40 IT_PROG_INTLTOOL
+AC_DEFUN([IT_PROG_INTLTOOL], [
+AC_PREREQ([2.50])dnl
+AC_REQUIRE([AM_NLS])dnl
+
+case "$am__api_version" in
+ 1.[01234])
+ AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool])
+ ;;
+ *)
+ ;;
+esac
+
+if test -n "$1"; then
+ AC_MSG_CHECKING([for intltool >= $1])
+
+ INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
+ INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3`
+ [INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
+ ]
+ AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found])
+ test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" ||
+ AC_MSG_ERROR([Your intltool is too old. You need intltool $1 or later.])
+fi
+
+AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update])
+AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge])
+AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract])
+if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then
+ AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.])
+fi
+
+ INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< [$]@'
+ INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< [$]@'
+ INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+
+_IT_SUBST(INTLTOOL_DESKTOP_RULE)
+_IT_SUBST(INTLTOOL_DIRECTORY_RULE)
+_IT_SUBST(INTLTOOL_KEYS_RULE)
+_IT_SUBST(INTLTOOL_PROP_RULE)
+_IT_SUBST(INTLTOOL_OAF_RULE)
+_IT_SUBST(INTLTOOL_PONG_RULE)
+_IT_SUBST(INTLTOOL_SERVER_RULE)
+_IT_SUBST(INTLTOOL_SHEET_RULE)
+_IT_SUBST(INTLTOOL_SOUNDLIST_RULE)
+_IT_SUBST(INTLTOOL_UI_RULE)
+_IT_SUBST(INTLTOOL_XAM_RULE)
+_IT_SUBST(INTLTOOL_KBD_RULE)
+_IT_SUBST(INTLTOOL_XML_RULE)
+_IT_SUBST(INTLTOOL_XML_NOMERGE_RULE)
+_IT_SUBST(INTLTOOL_CAVES_RULE)
+_IT_SUBST(INTLTOOL_SCHEMAS_RULE)
+_IT_SUBST(INTLTOOL_THEME_RULE)
+_IT_SUBST(INTLTOOL_SERVICE_RULE)
+_IT_SUBST(INTLTOOL_POLICY_RULE)
+
+# Check the gettext tools to make sure they are GNU
+AC_PATH_PROG(XGETTEXT, xgettext)
+AC_PATH_PROG(MSGMERGE, msgmerge)
+AC_PATH_PROG(MSGFMT, msgfmt)
+AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then
+ AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
+fi
+xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`"
+mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`"
+mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`"
+if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then
+ AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
+fi
+
+AC_PATH_PROG(INTLTOOL_PERL, perl)
+if test -z "$INTLTOOL_PERL"; then
+ AC_MSG_ERROR([perl not found])
+fi
+AC_MSG_CHECKING([for perl >= 5.8.1])
+$INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1
+if test $? -ne 0; then
+ AC_MSG_ERROR([perl 5.8.1 is required for intltool])
+else
+ IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`"
+ AC_MSG_RESULT([$IT_PERL_VERSION])
+fi
+if test "x$2" != "xno-xml"; then
+ AC_MSG_CHECKING([for XML::Parser])
+ if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
+ AC_MSG_RESULT([ok])
+ else
+ AC_MSG_ERROR([XML::Parser perl module is required for intltool])
+ fi
+fi
+
+# Substitute ALL_LINGUAS so we can use it in po/Makefile
+AC_SUBST(ALL_LINGUAS)
+
+# Set DATADIRNAME correctly if it is not set yet
+# (copied from glib-gettext.m4)
+if test -z "$DATADIRNAME"; then
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([[]],
+ [[extern int _nl_msg_cat_cntr;
+ return _nl_msg_cat_cntr]])],
+ [DATADIRNAME=share],
+ [case $host in
+ *-*-solaris*)
+ dnl On Solaris, if bind_textdomain_codeset is in libc,
+ dnl GNU format message catalog is always supported,
+ dnl since both are added to the libc all together.
+ dnl Hence, we'd like to go with DATADIRNAME=share
+ dnl in this case.
+ AC_CHECK_FUNC(bind_textdomain_codeset,
+ [DATADIRNAME=share], [DATADIRNAME=lib])
+ ;;
+ *)
+ [DATADIRNAME=lib]
+ ;;
+ esac])
+fi
+AC_SUBST(DATADIRNAME)
+
+IT_PO_SUBDIR([po])
+
+])
+
+
+# IT_PO_SUBDIR(DIRNAME)
+# ---------------------
+# All po subdirs have to be declared with this macro; the subdir "po" is
+# declared by IT_PROG_INTLTOOL.
+#
+AC_DEFUN([IT_PO_SUBDIR],
+[AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS.
+dnl
+dnl The following CONFIG_COMMANDS should be executed at the very end
+dnl of config.status.
+AC_CONFIG_COMMANDS_PRE([
+ AC_CONFIG_COMMANDS([$1/stamp-it], [
+ if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then
+ AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.])
+ fi
+ rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp"
+ >"$1/stamp-it.tmp"
+ [sed '/^#/d
+ s/^[[].*] *//
+ /^[ ]*$/d
+ '"s|^| $ac_top_srcdir/|" \
+ "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES"
+ ]
+ [sed '/^POTFILES =/,/[^\\]$/ {
+ /^POTFILES =/!d
+ r $1/POTFILES
+ }
+ ' "$1/Makefile.in" >"$1/Makefile"]
+ rm -f "$1/Makefile.tmp"
+ mv "$1/stamp-it.tmp" "$1/stamp-it"
+ ])
+])dnl
+])
+
+# _IT_SUBST(VARIABLE)
+# -------------------
+# Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST
+#
+AC_DEFUN([_IT_SUBST],
+[
+AC_SUBST([$1])
+m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])])
+]
+)
+
+# deprecated macros
+AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL])
+# A hint is needed for aclocal from Automake <= 1.9.4:
+# AC_DEFUN([AC_PROG_INTLTOOL], ...)
+
diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4
new file mode 100644
index 0000000..9000a05
--- /dev/null
+++ b/m4/ltsugar.m4
@@ -0,0 +1,123 @@
+# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+ [$#], [2], [[$2]],
+ [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+ [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59 which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+ [$#], 1, [],
+ [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+ m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+m4_define([lt_combine],
+[m4_if(m4_eval([$# > 3]), [1],
+ [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+ [m4_foreach([_Lt_suffix],
+ ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+ [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+ [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+ [lt_append([$1], [$2], [$3])$4],
+ [$5])],
+ [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+ m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+ m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+ [$5],
+ [$6])])
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+ [lt_join(m4_quote(m4_default([$4], [[, ]])),
+ lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+ [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
+])
diff --git a/m4/python.m4 b/m4/python.m4
new file mode 100644
index 0000000..deb3269
--- /dev/null
+++ b/m4/python.m4
@@ -0,0 +1,86 @@
+dnl a macro to check for ability to create python extensions
+dnl AM_CHECK_PYTHON_HEADERS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE])
+dnl function also defines PYTHON_INCLUDES
+AC_DEFUN([AM_CHECK_PYTHON_HEADERS],
+[AC_REQUIRE([AM_PATH_PYTHON])
+
+AC_SUBST(PYTHON_INCLUDES)
+AC_SUBST(PYTHON_LIBS)
+AC_SUBST(PYTHON_EMBED_LIBS)
+AC_SUBST(PYTHON_LDFLAGS)
+AC_SUBST(PYTHON_CC)
+
+AC_MSG_CHECKING(for headers required to compile python extensions)
+dnl deduce PYTHON_INCLUDES
+py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
+py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"`
+if test -x "$PYTHON-config"; then
+ PYTHON_INCLUDES=`$PYTHON-config --includes 2>/dev/null`
+else
+ PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
+ if test "$py_prefix" != "$py_exec_prefix"; then
+ PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}"
+ fi
+fi
+dnl check if the headers exist:
+save_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
+AC_TRY_CPP([#include <Python.h>],dnl
+[AC_MSG_RESULT(found)
+
+AC_MSG_CHECKING(for python libraries)
+
+
+dnl Check whether python was compiled as shared library
+link_pymodules_libpython=false;
+py_enable_shared=`$PYTHON -c "from distutils.sysconfig import get_config_var; print repr(get_config_var('Py_ENABLE_SHARED'))"`
+if test $py_enable_shared == 1 ; then
+ if test x`uname -s` != xDarwin; then
+ PYTHON_LDFLAGS="-no-undefined"
+ link_pymodules_libpython=true;
+ fi
+fi
+
+dnl use distutils to get some python configuration variables..
+PYTHON_CC=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_config_var('CC')"`
+PYTHON_LIB_DEPS=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_config_var('SYSLIBS'), sysconfig.get_config_var('SHLIBS')"`
+PYTHON_LIBDIR=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_config_var('LIBDIR')"`
+PYTHON_LIBPL=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_config_var('LIBPL')"`
+
+save_CC="$CC"
+save_LIBS="$LIBS"
+
+PYTHON_EMBED_LIBS="-L${PYTHON_LIBDIR} ${PYTHON_LIB_DEPS} -lpython${PYTHON_VERSION}"
+
+CC="$PYTHON_CC"
+LIBS="$LIBS $PYTHON_EMBED_LIBS"
+AC_TRY_LINK_FUNC(Py_Initialize, dnl
+ [
+ LIBS="$save_LIBS";
+ if $link_pymodules_libpython; then
+ PYTHON_LIBS="$PYTHON_EMBED_LIBS";
+ fi
+ AC_MSG_RESULT([$PYTHON_EMBED_LIBS]);
+ $1], dnl
+[
+
+ PYTHON_EMBED_LIBS="-L${PYTHON_LIBPL} ${PYTHON_LIB_DEPS} -lpython${PYTHON_VERSION}"
+
+ LIBS="$save_LIBS $PYTHON_EMBED_LIBS";
+ AC_TRY_LINK_FUNC(Py_Initialize, dnl
+ [
+ LIBS="$save_LIBS";
+ if $link_pymodules_libpython; then
+ PYTHON_LIBS="$PYTHON_EMBED_LIBS";
+ fi
+ AC_MSG_RESULT([$PYTHON_EMBED_LIBS]);
+ $1], dnl
+ AC_MSG_RESULT(not found); $2)
+])
+CC="$save_CC"
+
+$1],dnl
+[AC_MSG_RESULT(not found)
+$2])
+CPPFLAGS="$save_CPPFLAGS"
+])
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 <[email protected]>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+fi
+
+run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+ configure_ac=configure.ac
+else
+ configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case $1 in
+--run)
+ # Try to run requested program, and just exit if it succeeds.
+ run=
+ shift
+ "$@" && exit 0
+ # Exit code 63 means version mismatch. This often happens
+ # when the user try to use an ancient version of a tool on
+ # a file that requires a minimum version. In this case we
+ # we should proceed has if the program had been absent, or
+ # if --run hadn't been passed.
+ if test $? = 63; then
+ run=:
+ msg="probably too old"
+ fi
+ ;;
+
+ -h|--h|--he|--hel|--help)
+ echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+ -h, --help display this help and exit
+ -v, --version output version information and exit
+ --run try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+ aclocal touch file \`aclocal.m4'
+ autoconf touch file \`configure'
+ autoheader touch file \`config.h.in'
+ autom4te touch the output file, or create a stub one
+ automake touch all \`Makefile.in' files
+ bison create \`y.tab.[ch]', if possible, from existing .[ch]
+ flex create \`lex.yy.c', if possible, from existing .c
+ help2man touch the output file
+ lex create \`lex.yy.c', if possible, from existing .c
+ makeinfo touch the output file
+ tar try tar, gnutar, gtar, then tar without non-portable flags
+ yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
+\`g' are ignored when checking the name.
+
+Send bug reports to <[email protected]>."
+ exit $?
+ ;;
+
+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+ echo "missing $scriptversion (GNU Automake)"
+ exit $?
+ ;;
+
+ -*)
+ echo 1>&2 "$0: Unknown \`$1' option"
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+ ;;
+
+esac
+
+# normalize program name to check for.
+program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
+# Now exit if we have it, but it failed. Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program). This is about non-GNU programs, so use $1 not
+# $program.
+case $1 in
+ lex*|yacc*)
+ # Not GNU programs, they don't have --version.
+ ;;
+
+ tar*)
+ if test -n "$run"; then
+ echo 1>&2 "ERROR: \`tar' requires --run"
+ exit 1
+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+ exit 1
+ fi
+ ;;
+
+ *)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+ # Could not run --version or --help. This is probably someone
+ # running `$TOOL --version' or `$TOOL --help' to check whether
+ # $TOOL exists and not knowing $TOOL uses missing.
+ exit 1
+ fi
+ ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case $program in
+ aclocal*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`acinclude.m4' or \`${configure_ac}'. You might want
+ to install the \`Automake' and \`Perl' packages. Grab them from
+ any GNU archive site."
+ touch aclocal.m4
+ ;;
+
+ autoconf*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`${configure_ac}'. You might want to install the
+ \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
+ archive site."
+ touch configure
+ ;;
+
+ autoheader*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`acconfig.h' or \`${configure_ac}'. You might want
+ to install the \`Autoconf' and \`GNU m4' packages. Grab them
+ from any GNU archive site."
+ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+ test -z "$files" && files="config.h"
+ touch_files=
+ for f in $files; do
+ case $f in
+ *:*) touch_files="$touch_files "`echo "$f" |
+ sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+ *) touch_files="$touch_files $f.in";;
+ esac
+ done
+ touch $touch_files
+ ;;
+
+ automake*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+ You might want to install the \`Automake' and \`Perl' packages.
+ Grab them from any GNU archive site."
+ find . -type f -name Makefile.am -print |
+ sed 's/\.am$/.in/' |
+ while read f; do touch "$f"; done
+ ;;
+
+ autom4te*)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+ You might have modified some files without having the
+ proper tools for further handling them.
+ You can get \`$1' as part of \`Autoconf' from any GNU
+ archive site."
+
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -f "$file"; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo "#! /bin/sh"
+ echo "# Created by GNU Automake missing as a replacement of"
+ echo "# $ $@"
+ echo "exit 0"
+ chmod +x $file
+ exit 1
+ fi
+ ;;
+
+ bison*|yacc*)
+ echo 1>&2 "\
+WARNING: \`$1' $msg. You should only need it if
+ you modified a \`.y' file. You may need the \`Bison' package
+ in order for those modifications to take effect. You can get
+ \`Bison' from any GNU archive site."
+ rm -f y.tab.c y.tab.h
+ if test $# -ne 1; then
+ eval LASTARG="\${$#}"
+ case $LASTARG in
+ *.y)
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+ if test -f "$SRCFILE"; then
+ cp "$SRCFILE" y.tab.c
+ fi
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+ if test -f "$SRCFILE"; then
+ cp "$SRCFILE" y.tab.h
+ fi
+ ;;
+ esac
+ fi
+ if test ! -f y.tab.h; then
+ echo >y.tab.h
+ fi
+ if test ! -f y.tab.c; then
+ echo 'main() { return 0; }' >y.tab.c
+ fi
+ ;;
+
+ lex*|flex*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a \`.l' file. You may need the \`Flex' package
+ in order for those modifications to take effect. You can get
+ \`Flex' from any GNU archive site."
+ rm -f lex.yy.c
+ if test $# -ne 1; then
+ eval LASTARG="\${$#}"
+ case $LASTARG in
+ *.l)
+ SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+ if test -f "$SRCFILE"; then
+ cp "$SRCFILE" lex.yy.c
+ fi
+ ;;
+ esac
+ fi
+ if test ! -f lex.yy.c; then
+ echo 'main() { return 0; }' >lex.yy.c
+ fi
+ ;;
+
+ help2man*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a dependency of a manual page. You may need the
+ \`Help2man' package in order for those modifications to take
+ effect. You can get \`Help2man' from any GNU archive site."
+
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -f "$file"; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo ".ab help2man is required to generate this page"
+ exit $?
+ fi
+ ;;
+
+ makeinfo*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a \`.texi' or \`.texinfo' file, or any other file
+ indirectly affecting the aspect of the manual. The spurious
+ call might also be the consequence of using a buggy \`make' (AIX,
+ DU, IRIX). You might want to install the \`Texinfo' package or
+ the \`GNU make' package. Grab either from any GNU archive site."
+ # The file to touch is that specified with -o ...
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -z "$file"; then
+ # ... or it is the one specified with @setfilename ...
+ infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+ file=`sed -n '
+ /^@setfilename/{
+ s/.* \([^ ]*\) *$/\1/
+ p
+ q
+ }' $infile`
+ # ... or it is derived from the source name (dir/f.texi becomes f.info)
+ test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+ fi
+ # If the file does not exist, the user really needs makeinfo;
+ # let's fail without touching anything.
+ test -f $file || exit 1
+ touch $file
+ ;;
+
+ tar*)
+ shift
+
+ # We have already tried tar in the generic part.
+ # Look for gnutar/gtar before invocation to avoid ugly error
+ # messages.
+ if (gnutar --version > /dev/null 2>&1); then
+ gnutar "$@" && exit 0
+ fi
+ if (gtar --version > /dev/null 2>&1); then
+ gtar "$@" && exit 0
+ fi
+ firstarg="$1"
+ if shift; then
+ case $firstarg in
+ *o*)
+ firstarg=`echo "$firstarg" | sed s/o//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ case $firstarg in
+ *h*)
+ firstarg=`echo "$firstarg" | sed s/h//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ fi
+
+ echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+ You may want to install GNU tar or Free paxutils, or check the
+ command line arguments."
+ exit 1
+ ;;
+
+ *)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+ You might have modified some files without having the
+ proper tools for further handling them. Check the \`README' file,
+ it often tells you about the needed prerequisites for installing
+ this package. You may also peek at any GNU archive site, in case
+ some other package would contain this missing \`$1' program."
+ exit 1
+ ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/mkinstalldirs b/mkinstalldirs
new file mode 100755
index 0000000..4191a45
--- /dev/null
+++ b/mkinstalldirs
@@ -0,0 +1,162 @@
+#! /bin/sh
+# mkinstalldirs --- make directory hierarchy
+
+scriptversion=2009-04-28.21; # UTC
+
+# Original author: Noah Friedman <[email protected]>
+# Created: 1993-05-16
+# Public domain.
+#
+# This file is maintained in Automake, please report
+# bugs to <[email protected]> or send patches to
+
+nl='
+'
+IFS=" "" $nl"
+errstatus=0
+dirmode=
+
+usage="\
+Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
+
+Create each directory DIR (with mode MODE, if specified), including all
+leading file name components.
+
+Report bugs to <[email protected]>."
+
+# process command line arguments
+while test $# -gt 0 ; do
+ case $1 in
+ -h | --help | --h*) # -h for help
+ echo "$usage"
+ exit $?
+ ;;
+ -m) # -m PERM arg
+ shift
+ test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
+ dirmode=$1
+ shift
+ ;;
+ --version)
+ echo "$0 $scriptversion"
+ exit $?
+ ;;
+ --) # stop option processing
+ shift
+ break
+ ;;
+ -*) # unknown option
+ echo "$usage" 1>&2
+ exit 1
+ ;;
+ *) # first non-opt arg
+ break
+ ;;
+ esac
+done
+
+for file
+do
+ if test -d "$file"; then
+ shift
+ else
+ break
+ fi
+done
+
+case $# in
+ 0) exit 0 ;;
+esac
+
+# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
+# mkdir -p a/c at the same time, both will detect that a is missing,
+# one will create a, then the other will try to create a and die with
+# a "File exists" error. This is a problem when calling mkinstalldirs
+# from a parallel make. We use --version in the probe to restrict
+# ourselves to GNU mkdir, which is thread-safe.
+case $dirmode in
+ '')
+ if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+ echo "mkdir -p -- $*"
+ exec mkdir -p -- "$@"
+ else
+ # On NextStep and OpenStep, the `mkdir' command does not
+ # recognize any option. It will interpret all options as
+ # directories to create, and then abort because `.' already
+ # exists.
+ test -d ./-p && rmdir ./-p
+ test -d ./--version && rmdir ./--version
+ fi
+ ;;
+ *)
+ if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
+ test ! -d ./--version; then
+ echo "mkdir -m $dirmode -p -- $*"
+ exec mkdir -m "$dirmode" -p -- "$@"
+ else
+ # Clean up after NextStep and OpenStep mkdir.
+ for d in ./-m ./-p ./--version "./$dirmode";
+ do
+ test -d $d && rmdir $d
+ done
+ fi
+ ;;
+esac
+
+for file
+do
+ case $file in
+ /*) pathcomp=/ ;;
+ *) pathcomp= ;;
+ esac
+ oIFS=$IFS
+ IFS=/
+ set fnord $file
+ shift
+ IFS=$oIFS
+
+ for d
+ do
+ test "x$d" = x && continue
+
+ pathcomp=$pathcomp$d
+ case $pathcomp in
+ -*) pathcomp=./$pathcomp ;;
+ esac
+
+ if test ! -d "$pathcomp"; then
+ echo "mkdir $pathcomp"
+
+ mkdir "$pathcomp" || lasterr=$?
+
+ if test ! -d "$pathcomp"; then
+ errstatus=$lasterr
+ else
+ if test ! -z "$dirmode"; then
+ echo "chmod $dirmode $pathcomp"
+ lasterr=
+ chmod "$dirmode" "$pathcomp" || lasterr=$?
+
+ if test ! -z "$lasterr"; then
+ errstatus=$lasterr
+ fi
+ fi
+ fi
+ fi
+
+ pathcomp=$pathcomp/
+ done
+done
+
+exit $errstatus
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/po/LINGUAS b/po/LINGUAS
new file mode 100644
index 0000000..8ffe8e6
--- /dev/null
+++ b/po/LINGUAS
@@ -0,0 +1,100 @@
+af
+an
+ar
+as
+ast
+be
+be@latin
+bg
+bn_IN
+bn
+br
+ca
+ca@valencia
+crh
+cs
+cy
+da
+de
+dv
+dz
+el
+en_CA
+en_GB
+en@shaw
+eo
+es
+et
+eu
+fa
+fi
+fr
+fur
+fy
+ga
+gl
+gn
+gu
+gv
+ha
+he
+hi
+hr
+hu
+hy
+id
+ig
+io
+is
+it
+ja
+ka
+kk
+kn
+ko
+ku
+ky
+lt
+lv
+mai
+mg
+mk
+ml
+mn
+mr
+ms
+nb
+nds
+ne
+nl
+nn
+oc
+or
+pa
+pl
+ps
+pt_BR
+pt
+ro
+ru
+rw
+si
+sk
+sl
+sq
+sr
+sr@latin
+sv
+ta
+te
+th
+tr
+ug
+uk
+uz@cyrillic
+vi
+xh
+yo
+zh_CN
+zh_HK
+zh_TW
diff --git a/po/POTFILES.in b/po/POTFILES.in
new file mode 100644
index 0000000..e989d1e
--- /dev/null
+++ b/po/POTFILES.in
@@ -0,0 +1,28 @@
+# List of source files containing translatable strings.
+# Please keep this file sorted alphabetically.
+desktop-directories/mate-audio-video.directory.in
+desktop-directories/mate-development.directory.in
+desktop-directories/mate-education.directory.in
+desktop-directories/mate-game.directory.in
+desktop-directories/mate-graphics.directory.in
+desktop-directories/mate-hardware.directory.in
+desktop-directories/mate-internet-and-network.directory.in
+desktop-directories/mate-look-and-feel.directory.in
+desktop-directories/mate-network.directory.in
+desktop-directories/mate-office.directory.in
+desktop-directories/mate-personal.directory.in
+desktop-directories/mate-settings-system.directory.in
+desktop-directories/mate-settings.directory.in
+desktop-directories/mate-system.directory.in
+desktop-directories/mate-system-tools.directory.in
+desktop-directories/mate-utility-accessibility.directory.in
+desktop-directories/mate-utility.directory.in
+desktop-directories/mate-menu-applications.directory.in
+desktop-directories/mate-menu-system.directory.in
+desktop-directories/mate-other.directory.in
+# simple menu was removed
+#simple-editor/matemenu-simple-editor.desktop.in
+#[type: gettext/glade]simple-editor/matemenu-simple-editor.ui
+#simple-editor/MateMenuSimpleEditor/main.py
+#simple-editor/MateMenuSimpleEditor/maindialog.py
+#simple-editor/MateMenuSimpleEditor/menufilewriter.py
diff --git a/po/POTFILES.skip b/po/POTFILES.skip
new file mode 100644
index 0000000..0185faf
--- /dev/null
+++ b/po/POTFILES.skip
@@ -0,0 +1,3 @@
+# List of source files containing translatable strings that should be skipped.
+# Please keep this file sorted alphabetically.
+util/test-menu-spec.c
diff --git a/po/af.po b/po/af.po
new file mode 100644
index 0000000..d508efb
--- /dev/null
+++ b/po/af.po
@@ -0,0 +1,258 @@
+# Afrikaans translation of mate-menus
+# This file is distributed under the same license as the mate-menus package.
+# F Wolff <[email protected]>, 2008
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-22 00:23+0200\n"
+"PO-Revision-Date: 2008-09-15 20:46+0200\n"
+"Last-Translator: F Wolff <[email protected]>\n"
+"Language-Team: [email protected]\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: VirTaal 0.1\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Multimediakieslys"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Klank & video"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programmering"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Gereedskap vir sagtewareontwikkeling"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Opvoeding"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Speletjies"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Speletjies en vermaak"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafika"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Grafika-toepassings"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Hardeware"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Instellings vir verskeie hardewaretoestelle"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet en netwerk"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Netwerkverwante instellings"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Voorkoms en gedrag"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Instellings wat die werkskerm se voorkoms en gedrag beheer"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programme vir Internettoegang soos web en e-pos"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Kantoor"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Kantoortoepassings"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Persoonlik"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Persoonlike instellings"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Administrasie"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Wysig instellings stelselwyd (affekteer alle gebruikers)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Persoonlike voorkeure"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Voorkeure"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Stelsel"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Stelselinstellings"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Stelselgereedskap"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Stelselopstelling en monitering"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Universele toegang"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Verstelling van universele toegang"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Toebehore"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Werkskermtoebehore"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Toepassings"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Persoonlike voorkeure en administrasie-instellings"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Toepassings wat nie in ander kategorieë pas nie"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Ander"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Kieslysredigeerder"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "Redigeer kieslyste"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "_Toepassings:"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "_Verstekwaardes"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "_Kieslyste:"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Naam"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Wys"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Kan nie tuisgids vind nie: nie aangedui in /etc/passwd nie een geen waarde "
+"vir $HOME in die omgewing nie"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Kieslyslêer"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr ""
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr ""
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr ""
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr ""
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr ""
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr ""
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr ""
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr ""
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr ""
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Voorkeure aangaande universele toegang"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Persoonlike voorkeure en instellings"
diff --git a/po/an.po b/po/an.po
new file mode 100644
index 0000000..ccdf461
--- /dev/null
+++ b/po/an.po
@@ -0,0 +1,211 @@
+# Aragonese translations mate-menus.
+# Copyright (C) 2010 Mate Foundation
+# This file is distributed under the same license as the PACKAGE package.
+# Daniel Martinez <[email protected]>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus.HEAD.an\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-"
+"menus&component=general\n"
+"POT-Creation-Date: 2010-09-15 06:57+0000\n"
+"PO-Revision-Date: 2010-04-24 02:30+0200\n"
+"Last-Translator: Daniel Martinez <[email protected]>\n"
+"Language-Team: Aragonés <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Menú de programas multimedia"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Vidio y soniu"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programacion"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Ainas ta lo desarrollo de software"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Educacion"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Chuegos"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Chuegos y distraccions"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Graficos"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Aplicacions graficas"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Hardware"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Propiedaz ta varios dispositivos de hardware"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet y rete"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Propiedatz arredol d'o rete"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Visualizacion y comportamiento"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Propiedaz que controlan l'apariencia y o comportamiento d'o escritorio"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programas ta l'acceso a internet, tals como web y e-mail"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Oficina"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Aplicacions d'oficina"
+
+#. Translators: this is Personal as in "Personal settings"
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal"
+msgstr "Presonal"
+
+#: ../desktop-directories/Personal.directory.in.h:3
+msgid "Personal settings"
+msgstr "Peferencias presonals"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Almenistracion"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Cambear as preferencias globals d'o sistema (ta toz os usuarios)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Preferencias presonals "
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Preferencias"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Sistema"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Preferencias d'o sistema"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Ainas d'o sistema"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Configuracion y monitorizacion d'o sistema"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Acceso universal"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Preferencias d'acceso universal"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Accesorios"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Accesorios d'o escritorio"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Aplicacions"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Preferencias presonals y opcions d'almenistracion"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Aplicacions que no dentran en denguna atra categoria"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Atras"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Editor d'o menu"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Editar menus"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Aplicacions:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Predeterminaus"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menus:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Editor simple d'o menu %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Nome"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Amostrar"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"No s'ha puesto trobar lo direutorio presonal: no ye estableciu en o /etc/"
+"passwd y no bi ha dengun valor en a variable d'entorno $HOME"
+
diff --git a/po/ar.po b/po/ar.po
new file mode 100644
index 0000000..accbbec
--- /dev/null
+++ b/po/ar.po
@@ -0,0 +1,270 @@
+# translation of mate-menus.HEAD.po to Arabic
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) 2005 THE PACKAGE'S COPYRIGHT HOLDER, 2005.
+# Djihed Afifi <[email protected]>, 2006.
+# Khaled Hosny <[email protected]>, 2006, 2007, 2008, 2009.
+# Anas Husseini <[email protected]>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus.HEAD\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-08-20 21:13+0300\n"
+"PO-Revision-Date: 2009-08-20 21:17+0300\n"
+"Last-Translator: Khaled Hosny <[email protected]>\n"
+"Language-Team: Arabic <[email protected]>\n"
+"Language: ar\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
+"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
+"X-Generator: Virtaal 0.4.0\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "قائمة الوسائط المتعدّدة"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "صوت و فيديو"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "برمجة"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "أدوات لتطوير البرامج"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "تعليمي"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "ألعاب"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "الألعاب و التسلية"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "رسوميات"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "تطبيقات الرّسوميات"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "عتاد"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "إعدادات للعديد من أجهزة العتاد"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "الإنترنت والشبكة"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "الإعدادات المتعلّقة بالشبكة"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "المظهر"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "إعدادات تتحكّم في مظهر وسلوك سطح المكتب"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "إنترنت"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "برامج للنّفاذ إلى الإنترنت مثل الوب و البريد الإلكتروني"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "مكتب"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "التطبيقات المكتبيّة"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "شخصي"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "الإعدادات الشخصيّة"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "إدارة"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "غيّر إعدادات النظام العامة (يؤثّر على جميع المستخدمين)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "التفضيلات الشخصيّة"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "تفضيلات"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "نظام"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "إعدادات النظام"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "أدوات النّظام"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "إعداد و مراقبة النّظام"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "الإتاحة"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "إعدادات الإتاحة"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "ملحقات"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "ملحقات سطح المكتب"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "تطبيقات"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "التفضيلات الشخصيّة و إعدادات الإدارة"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "تطبيقات لا تندرج تحت الفئات الأخرى"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "أخرى"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "محرر القوائم"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "حرّر القوائم"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "ال_تطبيقات:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "ال_مبدئيات"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "ال_قوائم:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "محرر القوائم البسيط %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "الاسم"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "اعرض"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"لا يمكن العثور على الدليل المنزلي: غير مضبوط في ‎/etc/passwd ‏ولا قيمة لمتغيّر "
+"البيئة ‎$HOME"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "ملف القائمة"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "ارصد تغيرات القوائم"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "اشمل المدخلات المستبعدة"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "اشمل مدخلات NoDisplay=true"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "رقم ملف سطح مكتب غير صحيح"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[اسم ملف غير صالح]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <مستبعدة>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== تغيرت القائمة، تتم إعادة التحميل ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "شجرة القوائم خالية"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- اختبر تَنْفِيذ جنوم لمُوَاصِفَات قائمة سطح المكتب"
diff --git a/po/as.po b/po/as.po
new file mode 100644
index 0000000..01e8cf6
--- /dev/null
+++ b/po/as.po
@@ -0,0 +1,277 @@
+# translation of as.po to Assamese
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Amitakhya Phukan <[email protected]>, 2007, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: as\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug."
+"cgi?product=mate-menus&component=general\n"
+"POT-Creation-Date: 2009-06-21 17:35+0000\n"
+"PO-Revision-Date: 2009-09-21 09:40+0530\n"
+"Last-Translator: \n"
+"Language-Team: Assamese <>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 0.2\n"
+"Plural-Forms: nplurals=2; plural=(n!=1)\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "মাল্টি-মিডিয়া তালিকা"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "শব্দ ও ভিডিও"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "প্ৰোগ্ৰামিং"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "চালনাজ্ঞান উন্নয়নৰ সামগ্ৰী"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "শিক্ষাবিষয়ক বস্তু"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "খেলা"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "খেলা ও বিনোদন"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "গ্ৰাফিক্স"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "চাত্ৰাঙ্কিত অনুপ্ৰয়োগ"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "যান্ত্ৰিক সামগ্ৰী"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "বিবিধ যন্ত্ৰৰ সামগ্ৰীৰ সংক্ৰান্ত বৈশিষ্ট্য"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "ইন্টাৰনেট ও নেটৱৰ্ক"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "নেটৱৰ্ক সংক্ৰান্ত বৈশিষ্ট্য"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "চেহেৰা ছবি"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "ডেস্কটপৰ চেহেৰা ও আচৰণ নিয়ন্ত্ৰণকাৰী বৈশিষ্ট্য"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "ইন্টাৰনেট"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "ইন্টাৰনেট ব্যবহাৰৰ অনুপ্ৰয়োগ যেনে ওৱেব আৰু ই-মেইল অনুপ্ৰয়োগ"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "কাৰ্যালয়"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "কাৰ্যালয়ৰ অনুপ্ৰয়োগ"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "ব্যক্তিগত"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "ব্যক্তিগত বৈশিষ্ট্য"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "প্ৰশাসনিক বৈশিষ্ট্য"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr ""
+"সম্পূৰ্ণ ব্যৱস্থাপ্ৰণালী ব্যাপী বৈশিষ্ট্য পৰিবৰ্তন কৰক (সকলো ব্যৱহাৰকৰোঁতা প্ৰভাবিত হ'ব)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "ব্যক্তিগত পছন্দ"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "পছন্দ"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "ব্যৱস্থাপ্ৰণালী"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "ব্যৱস্থাপ্ৰণালী সংক্ৰান্ত বৈশিষ্ট্য"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "ব্যৱস্থাপ্ৰণালীৰ বিভিন্ন সৰঞ্জাম"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "ব্যৱস্থাপ্ৰণালীৰ বৈশিষ্ট্যৰ বিন্যাস এবং নিৰীক্ষণ"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "সাৰ্বজনীন ব্যবহাৰাধিকাৰ"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "সাৰ্বজনীন ব্যবহাৰাধিকাৰ সংক্ৰান্ত সম্পৰ্কিত বৈশিষ্ট্য"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "আনুষঙ্গিক"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "ডেস্কটপৰ ব্যৱহৃত আনুষঙ্গিক বস্তু"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "অনুপ্ৰয়োগ"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "ব্যক্তিগত পছন্দ ও প্ৰশাসনিক বৈশিষ্ট্য"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "অন্যান্য শ্ৰেণীত অন্তৰ্গত নকৰা অনুপ্ৰয়োগ"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "অন্যান্য"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "তালিকা সম্পাদক"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "তালিকা সম্পাদন কৰক"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "অনুপ্ৰয়োগ :(_A)"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "অবিকল্পিত মান(_D)"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "তালিকা:(_M)"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+#| msgid "Menu Editor"
+msgid "Simple Menu Editor %s"
+msgstr "%s তালিকা সম্পাদক"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "নাম"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "দেখুৱাওক"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"ব্যক্তিগত পঞ্জিকাৰ সন।ধান পোৱা ন'গ'ল: /etc/passwd নথিপত্ৰত উল্লেখ নাই আৰু পৰিবেশৰ "
+"$HOME চলকৰ মান অনুপস্থিত"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "তালিকাৰ নথিপত্ৰ"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "তালিকা পৰিবৰ্তণৰ নিৰীক্ষণ ব্যৱস্থা"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "<Exclude> কৰা নিবেশ অন্তৰ্ভুক্ত কৰা হ'ব"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "NoDisplay=true নিবেশসমূহ অন্তৰ্ভুক্ত কৰা হ'ব"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "ডেস্কটপ নথিপত্ৰৰ ID বৈধ নহয়"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[অবৈধ নথিপত্ৰৰ নাম]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== তালিকা পৰিবৰ্তিত হৈছে, পুনঃ তুলি লোৱা হৈছে ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "তালিকা-ট্ৰি বৰ্তমানে ৰিক্ত"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- MATE'ৰ ডেস্কটপ তালিকাৰ বৈশিষ্ট্যাবলী প্ৰয়োগৰ পৰীক্ষা কৰক"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "সাৰ্বজনীন ব্যৱহাৰধিকাৰ সামগ্ৰী সম্পৰ্কিত পছন্দ"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "ব্যক্তিগত পছন্দ এবং বৈশিষ্ট্যাবলী"
+
diff --git a/po/ast.po b/po/ast.po
new file mode 100644
index 0000000..2ea0fc3
--- /dev/null
+++ b/po/ast.po
@@ -0,0 +1,265 @@
+# translation of mate-menus.po to Asturian
+# Asturian translation for mate-menus
+# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007
+# This file is distributed under the same license as the mate-menus package.
+#
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2007.
+# Xose S. Puente <[email protected]>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-10-23 15:37+0200\n"
+"PO-Revision-Date: 2008-10-06 09:03+0000\n"
+"Last-Translator: Astur <[email protected]>\n"
+"Language-Team: Asturian <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2008-10-22 08:36+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Menú multimedia"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Soníu y Vídeu"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programación"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Ferramientes pa desendolcu de programes"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Educación"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Xuegos"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Xuegos y entretenimientu"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Gráficos"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Aplicaciones gráfiques"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Hardware"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Opciones pa dellos preseos de hardware"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet y rede"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Opciones rellacionaes col trabayu en rede"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Aldéu"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Propiedaes que remanen l'aldéu y el comportamientu del escritoriu"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programes p'accesu a Internet como web y corréu"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Oficina"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Aplicaciones d'Oficina"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Personal"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Preferencies personales"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Alministración"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr ""
+"Fai cambeos nes preferencies globales del sistema (afeuta a tolos usuarios)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Preferencies personales"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Preferencies"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Sistema"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Preferencies del sistema"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Ferramientes del Sistema"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Configuración y monitorización del sistema"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Accesu universal"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Preferencies del accesu universal"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Accesorios"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Accesorios d'Escritoriu"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Aplicaciones"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Preferencies personales y parámetros d'alministración"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Aplicaciones que nun encaxen n'otres estayes"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Otres"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Editor del Menú"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "Remanar Menús"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "_Aplicaciones:"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "_Predeterminaos"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "_Menús:"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Nome"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Amosar"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Nun pudo atopase la carpeta home: nun ta establecía en /etc/passwd y nun hai "
+"valor pa $HOME nel ambiente"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Ficheru de menú"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Monitor pa cambeos nel menú"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Incluyir entraes <Exclude>"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Incluyir entraes Nodisplay=true"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "ID de ficheru d'escritoriu non válidu"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Nome de ficheru Inválidu]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <escluyíes>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Cambió'l menú, recargando ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "L'árbol del menú ta ermu"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr ""
+"- prebe la implementación MATE de la Especificación del Menú d'Escriyoriu"
diff --git a/po/be.po b/po/be.po
new file mode 100644
index 0000000..951bdd7
--- /dev/null
+++ b/po/be.po
@@ -0,0 +1,269 @@
+# Беларускі пераклад mate-menus.
+# Copyright (C) 2005 THE mate-menus'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the mate-menus package.
+# Ales Nyakhaychyk <[email protected]>, 2005, 2007
+# Ihar Hrachyshka <[email protected]>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus mate-2-12\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-05-02 03:41+0100\n"
+"PO-Revision-Date: 2007-06-13 23:52+0300\n"
+"Last-Translator: Alexander Nyakhaychyk <[email protected]>\n"
+"Language-Team: Belarusian <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/Accessibility.directory.in.h:1
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Унівэрсальны доступ"
+
+#: ../desktop-directories/Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Настаўленьні унівэрсальнага доступу"
+
+#: ../desktop-directories/Accessories.directory.in.h:1
+msgid "Accessories"
+msgstr "Інструмэнты"
+
+#: ../desktop-directories/Accessories.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Настольныя інструмэнты"
+
+#: ../desktop-directories/Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Дастасаваньні"
+
+#: ../desktop-directories/Desktop.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Прыватныя перавагі і адміністрацыйныя настаўленьні"
+
+#: ../desktop-directories/Desktop.directory.in.h:2
+#: ../desktop-directories/System.directory.in.h:1
+msgid "System"
+msgstr "Сыстэма"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Праграмаваньне"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Інструмэнты для распрацоўкі праграм"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Адукацыя"
+
+#: ../desktop-directories/Games.directory.in.h:1
+msgid "Games"
+msgstr "Гульні"
+
+#: ../desktop-directories/Games.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Гульні і забавы"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Графіка"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Графічныя дастасаваньні"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Апаратура"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Настаўленьні для апаратуры"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Інтэрнэт і сетка"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Настаўленьні сеткі"
+
+#: ../desktop-directories/Internet.directory.in.h:1
+msgid "Internet"
+msgstr "Інтэрнэт"
+
+#: ../desktop-directories/Internet.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Праграмы для доступу ў Інтэрнэт (Сеціва, пошта і інш.)"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Вонкавы выгляд"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Настаўленьні, якія кантралююць вонавы выгляд і паводзіны асяродзьдзя"
+
+#: ../desktop-directories/Multimedia.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Мультымэдыя"
+
+#: ../desktop-directories/Multimedia.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Аўдыё і відэа"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Офіс"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Офісныя дастасаваньні"
+
+#: ../desktop-directories/Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Дастасаваньні, якія ня трапілі ў іншыя катэгорыі"
+
+#: ../desktop-directories/Other.directory.in.h:2
+msgid "Other"
+msgstr "Іншыя"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Пэрсанальныя"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Пэрсанальныя настаўленьні"
+
+#: ../desktop-directories/Preferences.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Асабістыя перавагі"
+
+#: ../desktop-directories/Preferences.directory.in.h:2
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Перавагі"
+
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:2
+msgid "Universal access related preferences"
+msgstr "Перавагі, якія датычацца унівэрсальнага доступу"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences and settings"
+msgstr "Пэрсанальныя перавагі і настаўленьні"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Сыстэмныя настаўленьні"
+
+#: ../desktop-directories/System-Settings.directory.in.h:1
+msgid "Administration"
+msgstr "Адміністраваньне"
+
+#: ../desktop-directories/System-Settings.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Зьмены сыстэмных настаўленьняў (датычацца ўсіх карыстальнікаў"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Сыстэмныя інструмэнты"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Наладка сыстэмы і маніторынг"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Рэдактар мэню"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "Дазваляе рэдагаваць мэню"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "Д_астасаваньні:"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "Пра_двызначаныя значэньні"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "_Мэню:"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123
+msgid "Name"
+msgstr "Назва"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115
+msgid "Show"
+msgstr "Паказваць"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Немагчыма знайсьці сваю тэчку: яна ня вызначаная ў /etc/passwd, а таксама "
+"зьменная асяродзьдзя $HOME нявызначаная"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Файл мэню"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "ФАЙЛ_МЭНЮ"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Сачыць за зьменамі мэню"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Уключыць <Выключан>ыя пункты"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Уключыць NoDisplay=true элемэнты"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Кепскі ID desktop-файла"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Кепская назва файла]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <выключаны>"
+
+#: ../util/test-menu-spec.c:164
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Мэню зьмянілася; перачытваецца... ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Мэню пустое"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- праверыць рэалізацыю спэцыфікацыі мэню стальца ў MATE"
diff --git a/po/[email protected] b/po/[email protected]
new file mode 100644
index 0000000..9d04209
--- /dev/null
+++ b/po/[email protected]
@@ -0,0 +1,275 @@
+# Biełaruski pierakład mate-menus.
+# Copyright (C) 2005 THE mate-menus'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the mate-menus package.
+# Alaksandar Navicki <[email protected]>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-05-06 00:40+0300\n"
+"PO-Revision-Date: 2007-05-06 00:41+0300\n"
+"Last-Translator: Ihar Hrachyshka <[email protected]>\n"
+"Language-Team: Belarusian Latin <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Belarsian Latin\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: ../desktop-directories/Accessibility.directory.in.h:1
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Universalny dostup"
+
+#: ../desktop-directories/Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Nałady ŭniversalnaha dostupu"
+
+#: ../desktop-directories/Accessories.directory.in.h:1
+msgid "Accessories"
+msgstr "Aksesuary"
+
+#: ../desktop-directories/Accessories.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Aksesuary stała"
+
+#: ../desktop-directories/Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Aplikacyi"
+
+#: ../desktop-directories/Desktop.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Asabistyja i administracyjnyja nałady"
+
+#: ../desktop-directories/Desktop.directory.in.h:2
+#: ../desktop-directories/System.directory.in.h:1
+msgid "System"
+msgstr "Systema"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Prahramavańnie"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Pryłady prahramavańnia"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Adukacyja"
+
+#: ../desktop-directories/Games.directory.in.h:1
+msgid "Games"
+msgstr "Hulni"
+
+#: ../desktop-directories/Games.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Hulni j zabavy"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Hrafika"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Hrafičnyja aplikacyi"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Aparatura"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Niekatoryja aparaturnyja nałady"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet i sietka"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Sietkavyja nałady"
+
+#: ../desktop-directories/Internet.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Internet.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Prahramy dla internetu"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Vyhlad"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Nałady vyhladu j pavodzinaŭ"
+
+#: ../desktop-directories/Multimedia.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Multymedyi"
+
+#: ../desktop-directories/Multimedia.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Aŭdyjo j videa"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Ofis"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Ofisnyja prahramy"
+
+#: ../desktop-directories/Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Prahramy, jakija nie ŭvajšli ŭ inšyja kategoryi"
+
+#: ../desktop-directories/Other.directory.in.h:2
+msgid "Other"
+msgstr "Inšyja"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Asabistaje"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Asabistyja nałady"
+
+#: ../desktop-directories/Preferences.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Asabistyja nałady"
+
+#: ../desktop-directories/Preferences.directory.in.h:2
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Nałady"
+
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:2
+msgid "Universal access related preferences"
+msgstr "Nałady dla ŭniversalnaha dostupu"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences and settings"
+msgstr "Asabistyja nałady"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Systemnyja nałady"
+
+#: ../desktop-directories/System-Settings.directory.in.h:1
+msgid "Administration"
+msgstr "Administravańnie"
+
+#: ../desktop-directories/System-Settings.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Źmiani systemnyja nałady (upłyvaje na ŭsich karystalnikaŭ)"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Systemnaje pryładździe"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Manitorynh i kanfihuracyja systemy"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Redaktar menu"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "Madyfikuje menu"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "_Aplikacyi:"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "_Zmoŭčanaje"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "_Menu:"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123
+msgid "Name"
+msgstr "Nazva"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115
+msgid "Show"
+msgstr "Pakažy"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44
+msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment"
+msgstr "Niemahčyma znajści chatniaj tečki: jana nie akreślenaja ŭ /etc/passwd, a vartaść źmiennaj asiarodździa $HOME nia vyznačanaja"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Fajł menu"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "FAJŁ_MENU"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Adsočka źmienaŭ menu"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Uklučna z <Vyklučanymi> elementami"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Uklučna ź nie pakazanymi elementami (NoDisplay=true)"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Niapravilny ID fajłu stała"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Niapravilnaja nazva fajłu]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <vyklučanaje>"
+
+#: ../util/test-menu-spec.c:164
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Menu źmianiłasia, zahružajecca znoŭ ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169
+#: ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Dreva menu pustoje"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "– testuje zaimplementavanuju ŭ MATE Specyfikacyju menu stała"
+
+#~ msgid "Accessibility"
+#~ msgstr "Dastupnaść"
+#~ msgid "Accessibility Settings"
+#~ msgstr "Nałady dastupnaści"
+#~ msgid "Desktop"
+#~ msgstr "Stoł"
+
diff --git a/po/bg.po b/po/bg.po
new file mode 100644
index 0000000..93025f0
--- /dev/null
+++ b/po/bg.po
@@ -0,0 +1,272 @@
+# Bulgarian translation of mate-menus po-file.
+# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation
+# This file is distributed under the same license as the mate-menus package.
+# Vladimir "Kaladan" Petkov <[email protected]>, 2004, 2005, 2007.
+# Rostislav "zbrox" Raykov <[email protected]>, 2005.
+# Alexander Shopov <[email protected]>, 2008, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus master\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-08-14 07:47+0300\n"
+"PO-Revision-Date: 2009-08-14 07:47+0300\n"
+"Last-Translator: Alexander Shopov <[email protected]>\n"
+"Language-Team: Bulgarian <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Меню за мултимедия"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Звук и видео"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Разработка"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Инструменти за разработка на софтуер"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Обучение"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Игри"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Игри и забавления"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Графика"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Програми за работа с графика"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Хардуер"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Настройки за много хардуерни устройства"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Интернет и мрежа"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Настройки за мрежата"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Външен изглед"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Настройки за външния изглед и поведение на работния плот"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Интернет"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Програми за работа в Интернет, например е-поща и браузър"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Офис"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Офисни програми"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Лични"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Лични настройки"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Администрация на системата"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr ""
+"Промяна на глобалните настройки на системата (ще се отрази на всички "
+"потребители)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Лични предпочитания"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Настройки"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Система"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Системни настройки"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Системни инструменти"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Следене и настройване на системата"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Универсален достъп"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Настройки на универсалния достъп"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Помощни програми"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Набор от помощни програми"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Програми"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Лични предпочитания и административни настройки"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Програми, които не принадлежат към друга категория"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Други"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Редактор на менюта"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Редакция на менютата"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Програми:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Стандартни"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Менюта:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Лесен редактор на менюта %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Име"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Показване"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Домашната папка не може да бъде намерена: не е зададена в /etc/passwd и няма "
+"стойност за $HOME в средата"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Файл за меню"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "ФАЙЛ_ЗА_МЕНЮ"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Наблюдение за промени в менюто"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Включване на елементите отбелязани за <пропускане>"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Включване на елементите отбелязани за <непоказване>"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Невалиден идентификатор на файла .desktop"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[невалидно име на файл]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <пропускане>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Менюто е било променено — презарежда се ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Дървовидната структура на менюто е празна."
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr ""
+"— тестване на реализацията на спецификацията за менюта към работния плот на "
+"MATE"
diff --git a/po/bn.po b/po/bn.po
new file mode 100644
index 0000000..b135766
--- /dev/null
+++ b/po/bn.po
@@ -0,0 +1,301 @@
+# Bengali translation of mate-menus
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# Mahay Alam Khan <[email protected]>, 2005.
+# Samia Niamatullah <[email protected]>, 2005.
+# Sadia Afroz <[email protected]>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: bn\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-"
+"menus&component=general\n"
+"POT-Creation-Date: 2009-06-21 17:35+0000\n"
+"PO-Revision-Date: 2010-01-24 22:55+0600\n"
+"Last-Translator: Sadia Afroz <[email protected]>\n"
+"Language-Team: Bengali <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "মাল্টিমিডিয়া মেনু"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "শব্দ ও ভিডিও"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "প্রোগ্রামিং"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "সফটওয়্যার ডেভেলপমেন্টের যন্ত্রপাতি"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "শিক্ষা"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "খেলা"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "খেলা ও বিনোদন"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "গ্রাফিক্স"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "গ্রাফিক্স অ্যাপ্লিকেশন"
+
+# Translated by sadia
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "হার্ডওয়্যার"
+
+# Translated by sadia
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "কয়েকটি হার্ডওয়্যার ডিভাইসের সেটিংস "
+
+# Translated by sadia
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "ইন্টারনেট ও নেটওয়ার্ক"
+
+# Translated by sadia
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "নেটওয়ার্ক সম্পর্কিত সেটিংস "
+
+# Translated by sadia
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "দেখুন ও উপভোগ করুন"
+
+# Translated by sadia
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "ডেক্সটপের অবয়ব ও আচরণ নিয়ন্ত্রণের সেটিংস"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "ইন্টারনেট"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "ইন্টারনেট ব্যবহারের প্রোগ্রাম, যেমন ওয়েব বা ইমেইল"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "অফিস"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "অফিস অ্যাপলিকেশন"
+
+# Translated by sadia
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "ব্যক্তিগত"
+
+# Translated by sadia
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "ব্যক্তিগত সেটিংস"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "অ্যাডমিনস্ট্রেশন"
+
+# Translated by sadia
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "সিস্টেমব্যাপী সেটিংস পরিবর্তন করা হবে (সব ব্যবহারকারীর জন্য প্রযোজ্য)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "ব্যক্তিগত পছন্দতালিকা"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "পছন্দতালিকা"
+
+# Translated by sadia
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "সিস্টেম "
+
+# Translated by sadia
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "সিস্টেম সেটিংস "
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "সিস্টেম টুল"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "সিস্টেম কনফিগারেশন এবং মনিটরিং"
+
+# Translated by sadia
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "সর্বজনীন প্রবেশাধিকার"
+
+# Translated by sadia
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "সর্বজনীন প্রবেশাধিকার সেটিংস"
+
+# আনুসাঙ্গিক - mak
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "আনুসাঙ্গিক"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "ডেস্কটপের আনুসাঙ্গিক অ্যাপ্লিকেশন"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "অ্যাপলিকেশন"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "ব্যক্তিগত পছন্দতালিকা এবং অ্যাডমিনস্ট্রেশন বৈশিষ্ট্যাবলী"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "অ্যাপ্লিকেশন যেগুলো অন্য কোন শ্রেণীভূক্ত নয়"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "অন্যান্য"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "মেনু সম্পাদক"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "মেনু সম্পাদন"
+
+# the (_)underscore can be used with the English "A", but it's not possible to use with bangla অ্যা cause user canot press the Alt+অ্যা simultaneously. - mak
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "অ্যাপ্লিকেশন (_অ):"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "ডিফল্ট (_ড)"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "মেনু (_ম):"
+
+# Translated by sadia
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "সাধারণ মেনু সম্পাদক %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "নাম"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "প্রদর্শন করো"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"home ডিরেক্টরি পাওয়া যায়নি: /etc/passwd তে সেট করা নেই এবং পরিবেশে $HOME এর "
+"কোন মান নেই"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "মেনু ফাইল"
+
+# sam: variable?
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "মেনু পরিবর্তনের মনিটর"
+
+# <Exclude> = variable?
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "বাদ দেয়া <Exclude> অংশগুলো অন্তর্ভুক্ত করো"
+
+# <Exclude> = variable?
+#
+# Translated by sadia
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Include NoDisplay=true entries"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "অবৈধ ডেস্কটপ ফাইল আইডি"
+
+# ত্রুটিযুক্ত ফাইলের নাম
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Invalid Filename]"
+
+# <বাদ দেওয়া হয়েছে>
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== মেনু পরিবর্তিত হয়েছে, পুনরায় লোড করা হচ্ছে ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "মেনু ট্রী খালি"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "‌- MATE দ্বারা ডেস্কটপ মেনু বৈশিষ্ট্যাবলীর প্রয়োগ পরীক্ষা করো"
+
+# Easy to access by physically handicapped persons. Translation should be done regarding this fact. - mak
+#~ msgid "Accessibility"
+#~ msgstr "অভিগম্যতা"
+
+#~ msgid "Desktop"
+#~ msgstr "ডেস্কটপ"
+
+#~ msgid "Accessibility related preferences"
+#~ msgstr "অভিগম্যতা সম্পর্কীয় পছন্দতালিকা"
diff --git a/po/bn_IN.po b/po/bn_IN.po
new file mode 100644
index 0000000..029ce9a
--- /dev/null
+++ b/po/bn_IN.po
@@ -0,0 +1,280 @@
+# translation of bn_IN.po to Bengali INDIA
+# Bengali India translation of mate-menus
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+#
+# Mahay Alam Khan <[email protected]>, 2005.
+# Samia Niamatullah <[email protected]>, 2005.
+# Runa Bhattacharjee <[email protected]>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: bn_IN\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n"
+"POT-Creation-Date: 2009-06-21 17:35+0000\n"
+"PO-Revision-Date: 2009-08-28 12:29+0530\n"
+"Last-Translator: Runa Bhattacharjee <[email protected]>\n"
+"Language-Team: Bengali INDIA <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "মাল্টি-মিডিয়া মেনু"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "শব্দ ও ভিডিও"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "প্রোগ্রামিং"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "সফ্টওয়্যার ডিভেলপমেন্টের সামগ্রী"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "শিক্ষাবিষয়ক বস্তু"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "খেলা"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "খেলা ও বিনোদন"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "গ্রাফিক্স"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "গ্রাফিক্স অ্যাপ্লিকেশন"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "হার্ডওয়্যার"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "বিবিধ হার্ডওয়্যার ডিভাইস সংক্রান্ত বৈশিষ্ট্য"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "ইন্টারনেট ও নেটওয়ার্ক"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "নেটওয়ার্ক সংক্রান্ত বৈশিষ্ট্য"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "চেহারা ছবি"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "ডেস্কটপের চেহারা ও আচরণ নিয়ন্ত্রণকারী বৈশিষ্ট্য"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "ইন্টারনেট"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "ইন্টারনেট ব্যবহারের প্রোগ্রাম যেমন ওয়েব ও ই-মেইল প্রোগ্রাম"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "অফিস"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "অফিস অ্যাপলিকেশন"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "ব্যক্তিগত"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "ব্যক্তিগত বৈশিষ্ট্য"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "প্রশাসনিক বৈশিষ্ট্য"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "সম্পূর্ণ সিস্টেমব্যাপী বৈশিষ্ট্য পরিবর্তন করুন (সকল ব্যবহারকারী প্রভাবিত হবেন)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "ব্যক্তিগত পছন্দ"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "পছন্দ"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "সিস্টেম"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "সিস্টেম সংক্রান্ত বৈশিষ্ট্য"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "সিস্টেমের বিভিন্ন সরঞ্জাম"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "সিস্টেমের বৈশিষ্ট্য কনফিগারেশন এবং নিরীক্ষণ"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "সার্বজনীন ব্যবহারাধিকার"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "সার্বজনীন ব্যবহারাধিকার সংক্রান্ত সম্পর্কিত বৈশিষ্ট্য"
+
+# আনুসাঙ্গিক - mak
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "আনুষঙ্গিক"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "ডেস্কটপের ব্যবহৃত আনুষঙ্গিক বস্তু"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "অ্যাপলিকেশন"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "ব্যক্তিগত পছন্দ ও প্রশাসনিক বৈশিষ্ট্য"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "অন্যান্য শ্রেণীর মধ্যে অন্তর্গত না করা অ্যাপ্লিকেশন"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "অন্যান্য"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "মেনু সম্পাদক"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "মেনু সম্পাদন করুন"
+
+# the (_)underscore can be used with the English "A", but it's not possible to use with bangla অ্যা cause user canot press the Alt+অ্যা simultaneously. - mak
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "অ্যাপ্লিকেশন :(_A)"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "ডিফল্ট মান(_D)"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "মেনু:(_M)"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+#| msgid "Menu Editor"
+msgid "Simple Menu Editor %s"
+msgstr "সহজ মেনু সম্পাদন ব্যবস্থা, সংস্করণ %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "নাম"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "প্রদর্শন করা হবে"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"ব্যক্তিগত (home) ডিরেক্টরি পাওয়া যায়নি: /etc/passwd ফাইলে উল্লিখিত হয়নি ও "
+"পরিবেশের $HOME ভেরিয়েবলের মান অনুপস্থিত"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "মেনুর ফাইল"
+
+# sam: variable?
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "মেনু পরিবর্তন নিরীক্ষণ ব্যবস্থা"
+
+# <Exclude> = variable?
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "<Exclude> করা এন্ট্রিগুলি অন্তর্ভুক্ত করা হবে"
+
+# <Exclude> = variable?
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "NoDisplay=true এন্ট্রিগুলি অন্তর্ভুক্ত করা হবে"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "ডেস্কটপ ফাইলের ID বৈধ নয়"
+
+# ত্রুটিযুক্ত ফাইলের নাম
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[অবৈধ ফাইলের নাম]"
+
+# <বাদ দেওয়া হয়েছে>
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== মেনু পরিবর্তিত হয়েছে, পুনরায় লোড করা হচ্ছে ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "মেনু-ট্রি বর্তমানে ফাঁকা"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- MATE'র ডেস্কটপ মেনুর বৈশিষ্ট্যাবলী প্রয়োগ পরীক্ষা করুন"
+
diff --git a/po/br.po b/po/br.po
new file mode 100644
index 0000000..525041d
--- /dev/null
+++ b/po/br.po
@@ -0,0 +1,266 @@
+# Breton translation of mate-menus.
+# Copyright (C) 2004-2005 Free Software Foundation, Inc.
+# This file is distributed under the same license as the mate-menu package.
+#
+# Jérémy Ar Floc'h <[email protected]>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menu 2.14\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n"
+"POT-Creation-Date: 2009-07-29 05:10+0000\n"
+"PO-Revision-Date: 2009-07-29 07:38+0100\n"
+"Last-Translator: Denis <[email protected]>\n"
+"Language-Team: MATE Breton Team <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-05-12 09:20+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Lañser al liesvedia"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Son ha video"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Gouleviñ"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Binvioù da ziorren ar meziantoù"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Deskadurezh"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "C'hoarioù"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "C'hoarioù ha diduelloù"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Skeudennoù"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Arloadoù skeudennaouiñ"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Periant"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Arventennoù evit meur a drobarzhell"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Kenrouedad ha Rouedad"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Arventennoù ar rouedad"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Neuz ha Feson"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Arventennoù a reol neuz ar burev hag e emzalc'h"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Kenrouedad"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Goulevioù evit tizhout ar c'henrouedad, posteliñ ha furcherezh"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Bureveg"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Arloadoù burev all"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Personel"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Arventennoù personel"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Merañ"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Kemmañ dre vras arventennoù ar reizhiad (evit an holl arveriaded)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Gwellvezioù hiniennel"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Gwellvezioù"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Reizhiad"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Arventennoù ar reizhiad"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Binvioù reizhiad"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Neuziadur hag eveshaerezh ar reizhiad"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Haezhiñ hollvedel"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Dibarzhioù haezhiñ hollvedel"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Mavegoù"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Mavegoù ar burev"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Arloadoù"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Dibarzhioù hiniennel ha arventennoù merañ"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Arloadoù n'int ket stag ouzh ur rummad all ebet"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Arloadoù all"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Embanner lañserioù"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Embanner al lañserioù"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Arloadoù :"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Dre ziouer"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Lañserioù :"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Embanner lañserioù eeun %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Anv"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Diskouez"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment"
+msgstr "Dibosupl eo kavout ar renkell Kêr : n'eo ket e-barzh /etc/passwd ha n'eus road ebet evit $HOME en endro"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Restr lañser"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "RESTR_LAÑSER"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Eveshaat kemmoù ar lañserioù"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Enlakaat enankadoù forc'het gant <Exclude>"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Enlakaat an enankadoù NoDisplay=true"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Didalvoudek eo hennad (ID) ar restr desktop"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Anv restr dididalvoudek]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <forc'het>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Kemmet al lañser, oc'h adkargañ ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169
+#: ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Goullo eo gwezenn al lañser"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- o testiñ emplementadur MATE el lañseroù dibarek .desktop"
+
diff --git a/po/ca.po b/po/ca.po
new file mode 100644
index 0000000..9f6c944
--- /dev/null
+++ b/po/ca.po
@@ -0,0 +1,272 @@
+# Catalan translation of MATE Menus.
+# Copyright © 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+# This file is distributed under the same license as the mate-menus package.
+# Jordi Mallach <[email protected]>, 2004, 2005, 2006, 2007.
+# Gil Forcada <[email protected]>, 2008, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus 2.12\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-03-17 08:22+0100\n"
+"PO-Revision-Date: 2010-04-02 17:41+0200\n"
+"Last-Translator: Gil Forcada <[email protected]>\n"
+"Language-Team: Catalan <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Menú multimèdia"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "So i vídeo"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programació"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Eines per a desenvolupar programari"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Educació"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Jocs"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Jocs i entreteniments"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Gràfics"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Aplicacions de gràfics"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Maquinari"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Paràmetres per a diferents dispositius de maquinari"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet i xarxa"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Paràmetres de xarxa"
+
+# Termcat (josep)
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Aspecte i comportament"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Paràmetres que controlen l'aspecte i el comportament de l'escriptori"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programes per a accedir a Internet, com la web i el correu"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Ofimàtica"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Aplicacions ofimàtiques"
+
+#. Translators: this is Personal as in "Personal settings"
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal"
+msgstr "Personal"
+
+#: ../desktop-directories/Personal.directory.in.h:3
+msgid "Personal settings"
+msgstr "Paràmetres personals"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Administració"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Canvia els paràmetres del sistema (afecta tots els usuaris)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Preferències personals"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Preferències"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Sistema"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Paràmetres del sistema"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Eines del sistema"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Configuració i supervisió del sistema"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Accés universal"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Paràmetres d'accés universal"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Accessoris"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Accessoris de l'escriptori"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Aplicacions"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Preferències personals i paràmetres d'administració"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Aplicacions que no encaixaven en d'altres categories"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Altres"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Editor del menú"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Edita els menús"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Aplicacions:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Predeterminats"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menús:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Editor del menú (versió %s)"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Nom"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Mostra"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"No s'ha trobat el directori d'inici: no està establert al fitxer /etc/passwd "
+"i no hi ha cap valor per a $HOME a l'entorn"
+
+#~ msgid "Menu file"
+#~ msgstr "Fitxer de menú"
+
+#~ msgid "MENU_FILE"
+#~ msgstr "FITXER_MENU"
+
+#~ msgid "Monitor for menu changes"
+#~ msgstr "Fes un seguiment dels canvis del menú"
+
+#~ msgid "Include <Exclude>d entries"
+#~ msgstr "Inclou entrades excloses amb <Exclude>"
+
+#~ msgid "Include NoDisplay=true entries"
+#~ msgstr "Inclou entrades amb NoDisplay=true"
+
+#~ msgid "Invalid desktop file ID"
+#~ msgstr "L'ID del fitxer desktop és invàlid"
+
+#~ msgid "[Invalid Filename]"
+#~ msgstr "[Nom de fitxer invàlid]"
+
+#~ msgid " <excluded>"
+#~ msgstr " <exclòs>"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "==== Menu changed, reloading ====\n"
+#~ "\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "=== El menú ha canviat, s'està tornant a carregar ===\n"
+#~ "\n"
+
+#~ msgid "Menu tree is empty"
+#~ msgstr "L'arbre del menú és buit"
+
+#~ msgid "- test MATE's implementation of the Desktop Menu Specification"
+#~ msgstr ""
+#~ "- proveu la implementació del MATE de l'especificació del menú "
+#~ "d'escriptori"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Preferències relacionades amb l'accés universal"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Preferències i paràmetres personals"
+
+#~ msgid "Accessibility"
+#~ msgstr "Accessibilitat"
+
+#~ msgid "Accessibility Settings"
+#~ msgstr "Paràmetres d'accessibilitat"
+
+#~ msgid "Desktop"
+#~ msgstr "Escriptori"
diff --git a/po/[email protected] b/po/[email protected]
new file mode 100644
index 0000000..27db3e0
--- /dev/null
+++ b/po/[email protected]
@@ -0,0 +1,272 @@
+# Catalan translation of MATE Menus.
+# Copyright © 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+# This file is distributed under the same license as the mate-menus package.
+# Jordi Mallach <[email protected]>, 2004, 2005, 2006, 2007.
+# Gil Forcada <[email protected]>, 2008, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus 2.12\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-04-21 23:31+0200\n"
+"PO-Revision-Date: 2010-04-02 17:41+0200\n"
+"Last-Translator: Gil Forcada <[email protected]>\n"
+"Language-Team: Catalan <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Menú multimèdia"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "So i vídeo"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programació"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Eines per a desenvolupar programari"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Educació"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Jocs"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Jocs i entreteniments"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Gràfics"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Aplicacions de gràfics"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Maquinari"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Paràmetres per a diferents dispositius de maquinari"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet i xarxa"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Paràmetres de xarxa"
+
+# Termcat (josep)
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Aspecte i comportament"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Paràmetres que controlen l'aspecte i el comportament de l'escriptori"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programes per a accedir a Internet, com la web i el correu"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Ofimàtica"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Aplicacions ofimàtiques"
+
+#. Translators: this is Personal as in "Personal settings"
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal"
+msgstr "Personal"
+
+#: ../desktop-directories/Personal.directory.in.h:3
+msgid "Personal settings"
+msgstr "Paràmetres personals"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Administració"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Canvia els paràmetres del sistema (afecta tots els usuaris)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Preferències personals"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Preferències"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Sistema"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Paràmetres del sistema"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Eines del sistema"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Configuració i supervisió del sistema"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Accés universal"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Paràmetres d'accés universal"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Accessoris"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Accessoris de l'escriptori"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Aplicacions"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Preferències personals i paràmetres d'administració"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Aplicacions que no encaixaven en d'altres categories"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Altres"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Editor del menú"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Edita els menús"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Aplicacions:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Predeterminats"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menús:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Editor del menú (versió %s)"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Nom"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Mostra"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"No s'ha trobat el directori d'inici: no està establit al fitxer /etc/passwd "
+"i no hi ha cap valor per a $HOME a l'entorn"
+
+#~ msgid "Menu file"
+#~ msgstr "Fitxer de menú"
+
+#~ msgid "MENU_FILE"
+#~ msgstr "FITXER_MENU"
+
+#~ msgid "Monitor for menu changes"
+#~ msgstr "Fes un seguiment dels canvis del menú"
+
+#~ msgid "Include <Exclude>d entries"
+#~ msgstr "Inclou entrades excloses amb <Exclude>"
+
+#~ msgid "Include NoDisplay=true entries"
+#~ msgstr "Inclou entrades amb NoDisplay=true"
+
+#~ msgid "Invalid desktop file ID"
+#~ msgstr "L'ID del fitxer desktop és invàlid"
+
+#~ msgid "[Invalid Filename]"
+#~ msgstr "[Nom de fitxer invàlid]"
+
+#~ msgid " <excluded>"
+#~ msgstr " <exclòs>"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "==== Menu changed, reloading ====\n"
+#~ "\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "=== El menú ha canviat, s'està tornant a carregar ===\n"
+#~ "\n"
+
+#~ msgid "Menu tree is empty"
+#~ msgstr "L'arbre del menú és buit"
+
+#~ msgid "- test MATE's implementation of the Desktop Menu Specification"
+#~ msgstr ""
+#~ "- proveu la implementació del MATE de l'especificació del menú "
+#~ "d'escriptori"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Preferències relacionades amb l'accés universal"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Preferències i paràmetres personals"
+
+#~ msgid "Accessibility"
+#~ msgstr "Accessibilitat"
+
+#~ msgid "Accessibility Settings"
+#~ msgstr "Paràmetres d'accessibilitat"
+
+#~ msgid "Desktop"
+#~ msgstr "Escriptori"
diff --git a/po/crh.po b/po/crh.po
new file mode 100644
index 0000000..5047004
--- /dev/null
+++ b/po/crh.po
@@ -0,0 +1,271 @@
+# translation of mate-menus to Qırımtatarca
+# This file is distributed under the same license as the mate-menus package.
+#
+# Reşat SABIQ <[email protected]>, 2009, 2010.
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus TRUNK\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-10-21 00:24-0500\n"
+"PO-Revision-Date: 2010-03-30 00:46-0500\n"
+"Last-Translator: Reşat SABIQ <[email protected]>\n"
+"Language-Team: QIRIMTATARCA (Qırım Türkçesi) <tilde-birlik-tercime@lists."
+"sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Çoqlu-vasat menüsi"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Davuş & Video"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programlav"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Yazılım inkişafı içün aletler"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Maarif"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Oyunlar"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Oyunlar ve eglenceler"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafikler"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Grafikiy uyğulamalar"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Donanım"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Bir qaç donanım cihazı içün tesbitler"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "İnternet ve Ağ"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Ağ-alâqalı tesbitler"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Körüniş ve Seziliş"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Masaüstü körüniş ve sezilişini muraqabe etken tesbitler"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "İnternet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "İnternet irişimi içün programlar, kezici ve e-poçta kibi"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Ofis"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Ofis Uyğulamaları"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Şahsiy"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Şahsiy ayarlar"
+
+# tüylü
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Memuriyet"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr ""
+"Bütün-sistem tesbitlerini deñiştir (qullanıcılarnıñ episine tesir eter)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Şahsiy tercihler"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Tercihler"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Sistem"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Sistem tesbitleri"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Sistem Aletleri"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Sistem ayarlaması ve közetimi"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Alemiy İrişim"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Universal İrişim Tesbitleri"
+
+# tüylü
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Aksessuarlar"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Masaüstü donantıları"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Uyğulamalar"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Şahsiy tercihler ve idare tesbitleri"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Diger ulamlarğa yaraşmağan uyğulamalar"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Diger"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Menü Muarriri"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Menülerni Tarir Et"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Uyğulamalar:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Ög-belgilemeler"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menüler:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Basit Menü Muarriri %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "İsim"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Köster"
+
+# tüylü
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Ev fihristini tapamayım: /etc/passwd içinde tesbit etilgen degil ve çevrede "
+"$HOME içün bir qıymet yoq"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Menü dosyesi"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Menü deñişmeleri içün közet"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Müstesna (<Exclude>) etilgen kirdilerni kirset"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "NoDisplay=true kirdilerini kirset"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Keçersiz masaüstü dosye kimligi"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Keçersiz Dosye-adı]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Menü deñişti, kene yüklene ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Menü teregi boştır"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- Masaüstü Menü Belirtiminiñ MATE tarafından edasını sına"
diff --git a/po/cs.po b/po/cs.po
new file mode 100644
index 0000000..5c60d5a
--- /dev/null
+++ b/po/cs.po
@@ -0,0 +1,269 @@
+# Czech translation of mate-menus.
+# Copyright (C) 2004, 2005, 2007, 2008, 2009 the author(s) of mate-menus.
+# Copyright (C) 2004, 2005 Miloslav Trmac <[email protected]>.
+# This file is distributed under the same license as the mate-menus package.
+# Miloslav Trmac <[email protected]>, 2004, 2005.
+# Petr Tomeš <[email protected]>, 2006.
+# Jakub Friedl <[email protected]>, 2007.
+# Petr Kovar <[email protected]>, 2007, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-09-21 04:22+0200\n"
+"PO-Revision-Date: 2009-09-21 04:17+0200\n"
+"Last-Translator: Petr Kovar <[email protected]>\n"
+"Language-Team: Czech <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Nabídka multimédií"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Zvuk a video"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programování"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Nástroje na vývoj softwaru"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Vzdělávání"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Hry"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Hry a zábava"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafika"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Aplikace pro grafiku"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Hardware"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Nastavení různých hardwarových zařízení"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet a síť"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Nastavení související se sítí"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Vzhled a chování"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Nastavení ovládající vzhled a chování pracovního prostředí"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programy pro přístup k Internetu, například WWW a e-mail"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Kancelář"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Kancelářské aplikace"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Osobní"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Osobní nastavení"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Správa"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Změnit nastavení pro celý systém (ovlivní všechny uživatele)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Osobní volby"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Volby"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Systém"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Systémová nastavení"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Systémové nástroje"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Nastavení a sledování systému"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Zpřístupnění"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Nastavení zpřístupnění"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Příslušenství"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Příslušenství prostředí pracovní plochy"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Aplikace"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Osobní volby a nastavení správy"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Aplikace nepatřící do jiných kategorií"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Ostatní"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Editor nabídek"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Upravit nabídky"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Aplikace:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "Vý_chozí"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "Na_bídky:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Jednoduchý editor nabídek %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Název"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Zobrazit"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Nelze najít domovský adresář: nenastaveno v /etc/passwd a žádná hodnota "
+"$HOME v prostředí"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Soubor nabídky"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "SOUBOR_NABÍDKY"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Sleduje změny nabídky"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Zahrne položky \"<Exclude>\""
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Zahrne položky s \"NoDisplay=true\""
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Neplatné ID souboru desktop"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Neplatný název souboru]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Nabídka změněna, načítá se znovu ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Strom nabídky je prázdný"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- otestuje implementaci \"Desktop Menu Specification\" v MATE"
diff --git a/po/cy.po b/po/cy.po
new file mode 100644
index 0000000..cbfa097
--- /dev/null
+++ b/po/cy.po
@@ -0,0 +1,231 @@
+# MATE Menus in Welsh.
+#
+# This file is distributed under the same license as the mate-menus package.
+# Dafydd Harries <[email protected]>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-03-02 06:52+0100\n"
+"PO-Revision-Date: 2006-03-02 12:05-0000\n"
+"Last-Translator: Rhys Jones <[email protected]>\n"
+"Language-Team: Welsh <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/Accessibility.directory.in.h:1
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:1
+msgid "Accessibility"
+msgstr "Hygyrchedd"
+
+#: ../desktop-directories/Accessibility.directory.in.h:2
+msgid "Accessibility Settings"
+msgstr "Gosodiadau Hygyrchedd"
+
+#: ../desktop-directories/Accessories.directory.in.h:1
+msgid "Accessories"
+msgstr "Ategolion"
+
+#: ../desktop-directories/Accessories.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Ategolion penbwrdd"
+
+#: ../desktop-directories/Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Rhaglenni"
+
+#: ../desktop-directories/Desktop.directory.in.h:1
+msgid "Desktop"
+msgstr "Penbwrdd"
+
+#: ../desktop-directories/Desktop.directory.in.h:2
+msgid "Personal preferences and administration settings"
+msgstr "Hoffterau personol a gosodiadau gweinyddol"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Rhaglennu"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Offer ar gyfer datblygu meddalwedd"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Addysg"
+
+#: ../desktop-directories/Games.directory.in.h:1
+msgid "Games"
+msgstr "Gemau"
+
+#: ../desktop-directories/Games.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Gemau a difyrrwch"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Graffeg"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Rhaglennu graffeg"
+
+#: ../desktop-directories/Internet.directory.in.h:1
+msgid "Internet"
+msgstr "Rhyngrwyd"
+
+#: ../desktop-directories/Internet.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Rhaglenni ar gyfer mynediad Rhyngrwyd megis y we ac e-bost"
+
+#: ../desktop-directories/Multimedia.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Dewislen amlgyfrwng"
+
+#: ../desktop-directories/Multimedia.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Sain a Fideo"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Swyddfa"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Rhaglenni Swyddfa"
+
+#: ../desktop-directories/Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Rhaglenni nad ydynt yn ffitio yng nghategorïau eraill"
+
+#: ../desktop-directories/Other.directory.in.h:2
+msgid "Other"
+msgstr "Eraill"
+
+#: ../desktop-directories/Preferences.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Hoffterau personol"
+
+#: ../desktop-directories/Preferences.directory.in.h:2
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Hoffterau"
+
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:2
+msgid "Accessibility related preferences"
+msgstr "Hoffterau yn gysylltiedig â hygyrchedd"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences and settings"
+msgstr "Hoffterau a gosodiadau personol"
+
+#: ../desktop-directories/System-Settings.directory.in.h:1
+msgid "Administration"
+msgstr "Gweinyddiaeth"
+
+#: ../desktop-directories/System-Settings.directory.in.h:2
+msgid "Change systemwide settings (affects all users)"
+msgstr "Newid gosodiadau system-eang (sy'n effeithio pob defnyddiwr)"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Offer System"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Cyflunio a monitro system"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Golygydd Dewislen"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "Golygu Dewislenni"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "_Rhaglenni:"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "_Rhagosodiadau"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "_Dewislenni"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123
+msgid "Name"
+msgstr "Enw"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115
+msgid "Show"
+msgstr "Dangos"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Methu darganfod cyfeiriadur cartref: nid oes cofnod yn /etc/passwd na gwerth "
+"ar gyfer $HOME yn yr amgylchedd"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Ffeil ddewislen"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "FFEIL_DDEWISLEN"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Monitro newidiadau yn y ddewislen"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Cynnwys y cofnodion a <eithriwyd>"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Cynnwys y cofnodion a chanddynt NoDisplay=True"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "ID ffeil penbwrdd annilys"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Enw Ffeil Annilys]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <eithriwyd>"
+
+#: ../util/test-menu-spec.c:164
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"=== Newidiwyd y ddewislen; ail-lwytho===\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Coeden ddewislen yn wag"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- profi gweithrediad MATE o Fanyleb Dewislenni Penbwrdd"
diff --git a/po/da.po b/po/da.po
new file mode 100644
index 0000000..8f17a70
--- /dev/null
+++ b/po/da.po
@@ -0,0 +1,284 @@
+# Danish translation of mate-menus.
+# Copyright (C) 2007 Mark McLoughlin
+# This file is distributed under the same license as the mate-menus package.
+# David Nielsen <[email protected]>, 2004.
+# Martin Willemoes Hansen <[email protected]>, 2005.
+# Ole Laursen <[email protected]>, 2006.
+# Peter Bach <[email protected]>, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-09-13 03:23+0200\n"
+"PO-Revision-Date: 2009-09-12 18:19+0200\n"
+"Last-Translator: Peter Bach <[email protected]>\n"
+"Language-Team: Danish <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Multimedie-menu"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Lyd og video"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programmering"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Værktøj til programudvikling"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Læringsprogrammer"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Spil"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Spil og underholdning"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafik"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Grafikprogrammer"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Hardware"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Indstillinger for flere hardware-enheder"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet og netværk"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Netværksrelaterede indstillinger"
+
+# det er et fast udtryk på engelsk, skal ikke opfattes bogstaveligt
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Udseende og opførsel"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Indstillinger for kontrol af skrivebordets udseende og opførelse"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programmer til internetadgang, såsom web og e-post"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Kontor"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Kontorprogrammer"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Personlig"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Personlige indstillinger"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Administration"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Ændr systemindstillinger (påvirker alle brugere)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Personlige indstillinger"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Indstillinger"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "System"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Systemindstillinger"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Systemværktøjer"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Systemkonfiguration og -overvågning"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Universel adgang"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Indstillinger for universel adgang"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Tilbehør"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Skrivebordstilbehør"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Programmer"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Personlige indstillinger og administrationskonfiguration"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Programmer som ikke passer i andre katagorier"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Andre"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Menuredigering"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Redigér menuer"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Programmer:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Forvalg"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menuer:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Simpel menuredigering %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Navn"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Vis"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Kan ikke finde hjemmekataloget: det er ikke i /etc/passwd og der findes "
+"ingen værdi for $HOME i miljøet"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Menufil"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FIL"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Overvåg menuændringer"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Medtag ekskluderede punkter (<Exclude>)"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Medtag punkter med NoDisplay=true"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Ugyldig skrivebordsfil-id"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Ugyldigt filnavn]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <ekskluderet>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Menu ændret, genindlæser ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Menutræ er tomt"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- test Mates implementering af specifikationen til skrivebordsmenuer"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Indstillinger relateret til universel adgang"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Personlige indstillinger"
+
+#~ msgid "Accessibility"
+#~ msgstr "Tilgængelighed"
+
+#~ msgid "Accessibility Settings"
+#~ msgstr "Tilgængelighedsindstillinger"
+
+#~ msgid "Desktop"
+#~ msgstr "Skrivebord"
diff --git a/po/de.po b/po/de.po
new file mode 100644
index 0000000..41da967
--- /dev/null
+++ b/po/de.po
@@ -0,0 +1,273 @@
+# German translation of mate-menus.
+# Copyright (C) 2004 THE mate-menus'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the mate-menus package.
+# Hendrik Brandt <[email protected]>, 2004-2005.
+# Hendrik Richter <[email protected]>, 2006, 2007.
+# Mario Blättermann <[email protected]>, 2009.
+# Christian Kirbach <[email protected]>, 2010.
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus HEAD\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-03-31 20:08+0200\n"
+"PO-Revision-Date: 2010-03-31 20:09+0200\n"
+"Last-Translator: Christian Kirbach <[email protected]>\n"
+"Language-Team: Deutsch <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Multimedia-Menü"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Multimedia"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Entwicklung"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Werkzeuge zur Software-Entwicklung"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Bildung"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Spiele"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Spiel und Spaß"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafik"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Anwendungen zur Grafikbearbeitung"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Hardware"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Einstellungen für Hardware"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet und Netzwerk"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Netzwerkbezogene Einstellungen"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Darstellung"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Einstellungen für das Aussehen und das Verhalten der Arbeitsoberfläche"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programme um Internet-Dienste wie E-Mail oder das WWW zu nutzen"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Büro"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Büroanwendungen"
+
+#. Translators: this is Personal as in "Personal settings"
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal"
+msgstr "Persönlich"
+
+#: ../desktop-directories/Personal.directory.in.h:3
+msgid "Personal settings"
+msgstr "Persönliche Vorlieben und Einstellungen"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Systemverwaltung"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Systemweite Einstellungen ändern (dies betrifft alle Benutzer)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Persönliche Einstellungen"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Einstellungen"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "System"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Systemeinstellungen"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Systemwerkzeuge"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Systemkonfiguration und -überwachung"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Barrierefreiheit"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Einstellungen zur Barrierefreiheit"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Zubehör"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Desktop-Zubehör"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Anwendungen"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Persönliche Anpassungen und Administratoreinstellungen"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Anwendungen welche in keine andere Kategorie eingeordnet werden können"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Sonstige"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Menüeditor"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Menüs bearbeiten"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Anwendungen:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Vorgaben"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menüs:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Einfacher Menüeditor %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Name"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Anzeigen"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Das Heimatverzeichnis des Benutzers konnte nicht gefunden werden: es ist "
+"weder in /etc/passwd angegeben, noch gibt es einen Wert für die "
+"Umgebungsvariable $HOME"
+
+#~ msgid "Menu file"
+#~ msgstr "Menüdatei"
+
+#~ msgid "MENU_FILE"
+#~ msgstr "MENÜ_DATEI"
+
+#~ msgid "Monitor for menu changes"
+#~ msgstr "Menüänderungen überwachen"
+
+#~ msgid "Include <Exclude>d entries"
+#~ msgstr "Mit »<ausschließen>« markierte Einträge einbeziehen"
+
+#~ msgid "Include NoDisplay=true entries"
+#~ msgstr "Mit »NoDisplay=true« markierte Einträge einbeziehen"
+
+#~ msgid "Invalid desktop file ID"
+#~ msgstr "Ungültige Desktop-Dateikennung"
+
+#~ msgid "[Invalid Filename]"
+#~ msgstr "[Ungültiger Dateiname]"
+
+#~ msgid " <excluded>"
+#~ msgstr " <ausschließen>"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "==== Menu changed, reloading ====\n"
+#~ "\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "==== Menü wurde geändert, wird neu geladen ====\n"
+#~ "\n"
+#~ "\n"
+
+#~ msgid "Menu tree is empty"
+#~ msgstr "Der Menübaum ist leer"
+
+#~ msgid "- test MATE's implementation of the Desktop Menu Specification"
+#~ msgstr "- testen der MATE-Implementation der Desktop-Menü-Spezifikation"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Einstellungen zur Barrierefreiheit"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Persönliche Vorlieben und Einstellungen"
+
+#~ msgid "Accessibility"
+#~ msgstr "Barrierefreiheit"
+
+#~ msgid "Accessibility Settings"
+#~ msgstr "Einstellungen zur Barrierefreiheit"
+
+#~ msgid "Desktop"
+#~ msgstr "Desktop"
diff --git a/po/dv.po b/po/dv.po
new file mode 100644
index 0000000..a0afa09
--- /dev/null
+++ b/po/dv.po
@@ -0,0 +1,260 @@
+# Divehi translation for mate-menus
+# Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006
+# This file is distributed under the same license as the mate-menus package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: Inash Zubair <[email protected]>\n"
+"POT-Creation-Date: 2009-03-17 15:27+0000\n"
+"PO-Revision-Date: 2009-05-05 21:16+0000\n"
+"Last-Translator: Huxain <[email protected]>\n"
+"Language-Team: Divehi <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-05-23 10:44+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "މަލްޓިމީޑިއާ މެނޫ"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "އަޑު އަދި ވީޑިއޯ"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "ޕްރޮގްރާމިންގް"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "ސޮފްޓްވެޔާރ ޑެވެލޮޕް ކުރުމުގެ ޓޫލްސްތައް"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "ތައުލީމު"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "ގޭމްސް"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "ގޭމުތަކާއި މުނިފޫހިފިލުވުންތައް"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "ގްރެފިކްސް"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "ގްރެފިކްސް އެޕްލިކޭޝަންތައް"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "ހާރޑްވެއަރ"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "ހާރޑުވެއަރ ޑިވައިސްތަކުގެ ސެޓިންގްތައް"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "އިންޓަރނެޓް އަދި ނެޓްވޯރކް"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "ނެޓްވޯރކާގުޅޭ ސެޓިންގްތައް"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "ބަލާބެލުން"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "ޑެސްކްޓޮޕް ބަލާބެލުމާއި ހަރަކާތްތައް ކޮންޓްރޯލްކުރާ ސެޓިންގްސް"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "އިންޓަނެޓް"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "ވެބް އަދި އީމެއިލް ފަދަ އިންޓާނެޓްގެ ބޭނުންހިފާ ޕްރޮގްރާމުތައް"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "އޮފީސް"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "އޮފީސް އެޕްލިކޭޝަންސް"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "އަމިއްލަަ"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "އަމިއްލަ ސެޓިންތައް"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "އިދާރީ"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "މުޅި ސިސްޓަމް ގެ ސެޓިންގްސް ބަދަލު ކުރައްވާ - ޔޫޒާޒްއެކުލެވޭގޮތަށް"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "އަމިއްލަ ގޮތްތައްަ"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "ބޭނުންވާ ގޮތްތަށް"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "ސިސްޓަމް"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "ސިސްޓަމް ސެޓިންގްސް"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "ސިސްޓަމް ޓޫލްތައް"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "ސިސްޓަމް ކޮންފިގަރ ކުރުމާއި މޮނިޓަރ ކުރުން"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "ހުރިހާދިމލަކުން ވަދެވޭ"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "ވަނުމުގެ ސެޓިން ހެދުން"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "އެކްސެސަރީސް"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "ޑެސްކްޓޮޕް އެކްސެސަރީސް"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "އެޕްލިކޭޝަންސް"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "އަމިއްލަ ޕުރިފަރަންސް އަދި އެޑުމިނިސްޓުރެޓަރ ސެޓިން"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "އެހެން ކެޓަގަރީތަކާ ނުގުޅޭ އެޕްލިކޭޝަންތަށް"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "އެހެނިހެން"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "މެނޫއެޑިޓްކުރާ"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "މެނޫތައް އެޑިތްކުރުން"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "އެޕްލިކޭޝަންސް_"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "ޑިފޯލްޓްސް_"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "މެނޫތަށް_"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "ނަން"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "ދެއްކުން"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"ހޯމް ޑައިރޭކްޓަރީއެއް ނުފެނުނު - $HOME ނުވަތަ /etc/password މައުލޫމާތުމަދު"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "މެނޫފައިލް"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "މެނޫ_ފައިލް"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "މެނޫ ބަދަލުވޭތޯ ބަލާ"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "އެންޓްރީސްތައް ހިމެނޭ <Exclude>d"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "އެންޓްރީސްތައް ހިމެނޭ NoDisplay=true"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "ި ޑެސްކުޓޮޕް ފައިލް އައިޑީ ނުބައި"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[ނުބައި ފައިލްނަމެއް]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <ނުހިމެނޭ>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== މެނޫބަދަލުވެފައި، އަލުންލޯޑްވަނީ ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "މެނޫ ޓްރީގައި އެއްޗެއްނެތް"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "ނޯމްގެ ޑެސްކުޓޮޕް މެނޫ އިމްޕުލިމެންޓޭޝަން ޓެސްޓުކުރައްވާ"
diff --git a/po/dz.po b/po/dz.po
new file mode 100644
index 0000000..3c6f7dc
--- /dev/null
+++ b/po/dz.po
@@ -0,0 +1,275 @@
+# Dzongkha translation of mate-menus
+# Copyright @ 2006 Free Software Foundation, Inc.
+# Mindu Dorji
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus.HEAD.dz\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-05-02 03:41+0100\n"
+"PO-Revision-Date: 2007-06-27 04:18+0530\n"
+"Last-Translator: Tshewang Norbu <[email protected]>\n"
+"Language-Team: DZONGKHA <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2;plural=(n!=1);\n"
+"X-Poedit-Language: Dzongkha\n"
+"X-Poedit-Country: BHUTAN\n"
+"X-Poedit-SourceCharset: utf-8\n"
+
+#: ../desktop-directories/Accessibility.directory.in.h:1
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "འཛམ་གླིང་ཡོངས་ཁྱབ་འཛུལ་སྤྱོད་འབད་ནི"
+
+#: ../desktop-directories/Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "འཛམ་གླིང་ཡོངས་ཁྱབ་འཛུལ་སྤྱོད་ཀྱི་གཞི་སྒྲིག་ཚུ"
+
+#: ../desktop-directories/Accessories.directory.in.h:1
+msgid "Accessories"
+msgstr "ཡན་ལག་ཅ་ཆས།"
+
+#: ../desktop-directories/Accessories.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "ཌེཀསི་ཊོཔ་གི་ ཡན་ལག་ཅ་ཆས།"
+
+#: ../desktop-directories/Applications.directory.in.h:1
+msgid "Applications"
+msgstr "གློག་རིམ།"
+
+#: ../desktop-directories/Desktop.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "རང་དོན་དགའ་གདམ་དང་ བདག་སྐྱོང་གི་གཞི་སྒྲིག་ཚུ།"
+
+#: ../desktop-directories/Desktop.directory.in.h:2
+#: ../desktop-directories/System.directory.in.h:1
+msgid "System"
+msgstr "རིམ་ལུགས་"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "ལས་རིམ་བཟོ་བ།"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "མཉེན་ཆས་བཟོ་ནིའི་ལག་ཆས།"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "ཤེས་རིག"
+
+#: ../desktop-directories/Games.directory.in.h:1
+msgid "Games"
+msgstr "རྩེད་རིགས།"
+
+#: ../desktop-directories/Games.directory.in.h:2
+msgid "Games and amusements"
+msgstr "རྩེད་རིགས་དང་ དགོད་བྲ་ཚུ།"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "ཚད་རིས།"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "ཚད་རིས་ཀྱི་གློག་རིམ།"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "སྲ་ཆས་"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "སྲ་ཆས་ཀྱི་ཐབས་འཕྲུལ་ལེ་ཤ་ཅིག་གི་དོན་ལུ་སྒྲིག་སྟངས་"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "ཨིན་ཊར་ནེཊི་དང་ཡོངས་འབྲེལ་"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "ཡོང་འབྲེལ་དང་འབྲེལ་བའི་སྒྲིག་སྟངས་"
+
+#: ../desktop-directories/Internet.directory.in.h:1
+msgid "Internet"
+msgstr "ཨིན་ཊར་ནེཊི།"
+
+#: ../desktop-directories/Internet.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "ཨིན་ཊར་ནེཊི་ལུ་ འཛུལ་སྤྱོད་འབད་ནིའི་ལས་རིམ་ དཔེར་ན་ ཝེབ་དང་གློག་འཕྲིན་ལྟ་བུ།"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "བལྟ་ནི་དང་འཚོར་སྣང་"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "ཌེཀསི་ཊོཔ་གི་འབྱུང་སྣང་དང་སྤཡོད་ལམ་འདི་ཚད་འཛིན་འབད་མི་སྒྲིག་སྟངས་"
+
+#: ../desktop-directories/Multimedia.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "སྣ་མང་བརྡ་ལམ་དཀར་ཆག།"
+
+#: ../desktop-directories/Multimedia.directory.in.h:2
+msgid "Sound & Video"
+msgstr "སྒྲ་སྐད་དང་གཟུགས་བརྙན།"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "ཡིག་ཚང་།"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "ཡིག་ཚང་གི་གློག་རིམ།"
+
+#: ../desktop-directories/Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "དབྱེ་ཁག་གཞན་ནང་ ཚུད་སྒྲིག་མེད་པའི་གློག་རིམ།"
+
+#: ../desktop-directories/Other.directory.in.h:2
+msgid "Other"
+msgstr "གཞན།"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "རང་དོན་"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "རང་དོན་སྒྲིག་སྟངས་"
+
+#: ../desktop-directories/Preferences.directory.in.h:1
+msgid "Personal preferences"
+msgstr "རང་དོན་དགའ་གདམ་ཚུ།"
+
+#: ../desktop-directories/Preferences.directory.in.h:2
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "དགའ་གདམ་ཚུ།"
+
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:2
+msgid "Universal access related preferences"
+msgstr "འཛམ་གླིང་ཡོངས་ཁྱབ་འཛུལ་སྤྱོད་དང་འབྲེལ་བའི་ དགའ་གདམ་ཚུ"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences and settings"
+msgstr "རང་དོན་དགའ་གདམ་དང་ གཞི་སྒྲིག་ཚུ།"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "རིམ་ལུགས་སྒྲིག་སྟངས་"
+
+#: ../desktop-directories/System-Settings.directory.in.h:1
+msgid "Administration"
+msgstr "བདག་སྐྱོང་།"
+
+#: ../desktop-directories/System-Settings.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "རིམ་ལུགས་ཡོངས་ཀྱི་ གཞི་སྒྲིག་བསྒྱུར་བཅོས་འབད (ལག་ལེན་པ་ཀུན་ལུ་ཕན་གནོད་ཡོད)"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "རིམ་ལུགས་ལག་ཆས།"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "རིམ་ལུགས་རིམ་སྒྲིག་དང་ལྟ་རྟོག།"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "དཀར་ཆག་ཞུན་དགཔ།"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "དཀར་ཆག་ཚུ་ཞུན་དག་རྐྱབས།"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "གློག་རིམ་ཚུ་:(_A)"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "སྔོན་སྒྲིག་ཚུ།(_D)"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "དཀར་ཆག་ཚུ་:(_M)"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123
+msgid "Name"
+msgstr "མིང་།"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115
+msgid "Show"
+msgstr "སྟོན།"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44
+msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment"
+msgstr "ཁྱིམ་གྱི་སྣོད་ཐོ་ འཚོལ་མི་ཐོབ་པས་: /etc/passwd ནང་ གཞི་སྒྲིག་མ་འབདཝ་མ་ཚད་ མཐའ་འཁོར་ནང་ $HOME གི་དོན་ལུ་ ལེ་བུ་མིན་འདུག"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "དཀར་ཆག་ཡིག་སྣོད།"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "དཀར་ཆག་ཡིག་སྣོད།(_F)"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "དཀར་ཆག་བསྒྱུར་བཅོས་ཀྱི་ལྟ་རྟོག་པ།"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "ཌི་ཐོ་བཀོད་ཚུ་ གྲངས་སུ་བཙུགས་ <གྲངས་ལས་བཏོན་>"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "ནོ་ཌིསི་པེ་ལེ་ གྲངས་སུ་བཙུགས་ = ཐོ་བཀོད་ངེས་བདེན་ཚུ།"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "ནུས་མེད་ཌེཀསི་ཊོཔ་ཡིག་སྣོད་ཀྱི་ཨའི་ཌི།"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[ནུས་མེད་ཡིག་སྣོད་མིང་]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr "<གྲངས་ལས་བཏོན་ཡོདཔ་>"
+
+#: ../util/test-menu-spec.c:164
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== དཀར་ཆག་སོར་ཡི། སླར་མངོན་གསལ་འབད་དོ། ====\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169
+#: ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "དཀར་ཆག་རྩ་འབྲེལ་སྟོངམ་ཨིན་པས།"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "ཌེཀསི་ཊོཔ་ དཀར་ཆག་གསལ་བཀོད་ཀྱི་ ཇི་ནོམ་བསྟར་སྤྱོད་ལུ་ བརྟག་ཞིབ་འབད།"
+
+#~ msgid "Accessibility"
+#~ msgstr "འཛུལ་སྤྱོད།"
+#~ msgid "Accessibility Settings"
+#~ msgstr "འཛུལ་སྤྱོད་ཀྱི་གཞི་སྒྲིག་ཚུ།"
+#~ msgid "Desktop"
+#~ msgstr "ཌེཀསི་ཊོཔ།"
+
diff --git a/po/el.po b/po/el.po
new file mode 100644
index 0000000..f422b6c
--- /dev/null
+++ b/po/el.po
@@ -0,0 +1,255 @@
+# Translation of mate-menus to Greek
+# This file is distributed under the same license as the mate-menus package.
+# Copyright (C) Free Software Foundation.
+#
+# Simos Xenitellis <[email protected]>, 2004.
+# Nikos Charonitakis <[email protected]>, 2005.
+# Kostas Papadimas <[email protected]>, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: el\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-03-28 09:57+0300\n"
+"PO-Revision-Date: 2010-03-28 10:00+0200\n"
+"Last-Translator: Kostas Papadimas <[email protected]>\n"
+"Language-Team: Greek <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Μενού πολυμέσων"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Ήχος και βίντεο"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Προγραμματισμός"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Εργαλεία για ανάπτυξη λογισμικού"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Εκπαίδευση"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Παιχνίδια"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Παιχνίδια και διασκέδαση"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Γραφικά"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Εφαρμογές γραφικών"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Υλικό"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Ρυθμίσεις για διάφορες συσκευές"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Διαδίκτυο και δίκτυο"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Ρυθμίσεις για το δίκτυο"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Ρυθμίσεις εμφάνισης"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Ρυθμίσεις για την εμφάνιση και συμπεριφορά της επιφάνειας εργασίας"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Διαδίκτυο"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Προγράμματα πρόσβασης στο Διαδίκτυο όπως φυλλομετρητής και ηλεκ. αλληλογραφία"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Γραφείο"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Εφαρμογές γραφείου"
+
+#. Translators: this is Personal as in "Personal settings"
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal"
+msgstr "Προσωπικά"
+
+#: ../desktop-directories/Personal.directory.in.h:3
+msgid "Personal settings"
+msgstr "Προσωπικές ρυθμίσεις"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Διαχείριση συστήματος"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Τροποποίηση ρυθμίσεων συστήματος (επηρεάζει όλους τους χρήστες)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Προσωπικές προτιμήσεις"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Προτιμήσεις"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Σύστημα"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Ρυθμίσεις συστήματος"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Εργαλεία συστήματος"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Ρύθμιση και έλεγχος συστήματος"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Γενική πρόσβαση"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Ρυθμίσεις γενικής πρόσβασης"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Βοηθήματα"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Βοηθήματα επιφάνειας εργασίας"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Εφαρμογές"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Προσωπικές προτιμήσεις και ρυθμίσεις διαχείρισης"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Εφαρμογές που δεν ταιριάζουν στις άλλες κατηγορίες"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Άλλα"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Επεξεργαστής μενού"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Επεξεργασία μενού"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Εφαρμογές:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Προεπιλεγμένα"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Μενού:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Απλός Επεξεργαστής μενού %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Όνομα"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Εμφάνιση"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment"
+msgstr "Αδυναμία εύρεσης αρχικού καταλόγου: δεν έχει ορισθεί τιμή στο /etc/passwd και στο$HOME στο περιβάλλον"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Προτιμήσεις σχετικά με γενική πρόσβαση"
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Προσωπικές προτιμήσεις και ρυθμίσεις"
+#~ msgid "Menu file"
+#~ msgstr "Αρχείο μενού"
+#~ msgid "MENU_FILE"
+#~ msgstr "MENU_FILE"
+#~ msgid "Monitor for menu changes"
+#~ msgstr "Παρακολούθηση για αλλαγές στο μενού"
+#~ msgid "Include <Exclude>d entries"
+#~ msgstr "Να συμπεριλαμβάνονται <αποκλεισμένες> καταχωρίσεις"
+#~ msgid "Include NoDisplay=true entries"
+#~ msgstr "Να συμπεριλαμβάνονται <αποκλεισμένες> καταχωρίσεις"
+#~ msgid "Invalid desktop file ID"
+#~ msgstr "Μη έγκυρο αναγνωριστικό αρχείου επιφάνειας εργασίας"
+#~ msgid "[Invalid Filename]"
+#~ msgstr "[Μη έγκυρο όνομα αρχείου]"
+#~ msgid " <excluded>"
+#~ msgstr " <αποκλεισμένα>"
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "==== Menu changed, reloading ====\n"
+#~ "\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "==== Το μενού άλλαξε, επαναφόρτωση ====\n"
+#~ "\n"
+#~ "\n"
+#~ msgid "Menu tree is empty"
+#~ msgstr "Το δέντρο μενού είναι κενό"
+#~ msgid "- test MATE's implementation of the Desktop Menu Specification"
+#~ msgstr ""
+#~ "- δοκιμή της εφαρμογής από το MATE των οδηγιών μενού επιφάνειας εργασίας"
+#~ msgid "Accessibility"
+#~ msgstr "Προσιτότητα"
+#~ msgid "Accessibility Settings"
+#~ msgstr "Ρυθμίσεις Προσιτότητας"
+#~ msgid "Desktop"
+#~ msgstr "Επιφάνεια Εργασίας"
+
diff --git a/po/[email protected] b/po/[email protected]
new file mode 100644
index 0000000..8e07ca0
--- /dev/null
+++ b/po/[email protected]
@@ -0,0 +1,211 @@
+# mate-menus Shavian translation.
+# Copyright (C) 2009
+# This file is distributed under the same license as the mate-menus package.
+# Thomas Thurman <[email protected]>, 2009
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n"
+"POT-Creation-Date: 2010-04-24 19:28+0000\n"
+"PO-Revision-Date: 2010-05-16 16:05 -0400\n"
+"Last-Translator: Thomas Thurman <[email protected]>\n"
+"Language-Team: Shavian <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n!=1;\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "𐑥𐑩𐑤𐑑𐑰𐑥𐑰𐑛𐑰𐑩 𐑥𐑧𐑯𐑿"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "𐑕𐑬𐑯𐑛 𐑯 𐑝𐑦𐑛𐑦𐑴"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "𐑐𐑮𐑴𐑜𐑮𐑨𐑥𐑦𐑙"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "𐑑𐑵𐑤𐑟 𐑓𐑹 𐑕𐑪𐑓𐑑𐑢𐑺 𐑛𐑦𐑝𐑧𐑤𐑩𐑐𐑥𐑩𐑯𐑑"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "𐑧𐑛𐑿𐑒𐑱𐑖𐑩𐑯"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "𐑜𐑱𐑥𐑟"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "𐑜𐑱𐑥𐑟 𐑯 𐑨𐑥𐑿𐑟𐑥𐑩𐑯𐑑𐑕"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "𐑜𐑮𐑨𐑓𐑦𐑒𐑕"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "𐑜𐑮𐑨𐑓𐑦𐑒𐑕 𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯𐑟"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "𐑣𐑭𐑮𐑛𐑢𐑧𐑮"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "𐑕𐑧𐑑𐑦𐑙𐑟 𐑓𐑹 𐑕𐑧𐑝𐑼𐑩𐑤 𐑣𐑭𐑮𐑛𐑢𐑧𐑮 𐑛𐑦𐑝𐑲𐑕𐑩𐑟"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "·𐑦𐑯𐑑𐑼𐑯𐑧𐑑 𐑯 𐑯𐑧𐑑𐑢𐑻𐑒"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "𐑯𐑧𐑑𐑢𐑻𐑒-𐑮𐑦𐑤𐑱𐑑𐑩𐑛 𐑕𐑧𐑑𐑦𐑙𐑟"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "𐑤𐑫𐑒 𐑯 𐑓𐑰𐑤"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "𐑕𐑧𐑑𐑦𐑙𐑟 𐑒𐑩𐑯𐑑𐑮𐑴𐑤𐑦𐑙 𐑞 𐑛𐑧𐑕𐑒𐑑𐑪𐑐 𐑩𐑐𐑽𐑩𐑯𐑕 𐑯 𐑚𐑦𐑣𐑱𐑝𐑘𐑼"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "·𐑦𐑯𐑑𐑼𐑯𐑧𐑑"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "𐑐𐑮𐑴𐑜𐑮𐑨𐑥𐑟 𐑓𐑹 ·𐑦𐑯𐑑𐑼𐑯𐑧𐑑 𐑨𐑒𐑕𐑧𐑕 𐑕𐑳𐑗 𐑨𐑟 𐑢𐑧𐑚 𐑯 𐑰𐑥𐑱𐑤"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "𐑪𐑓𐑦𐑕"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "𐑪𐑓𐑦𐑕 𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯𐑟"
+
+#. Translators: this is Personal as in "Personal settings"
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal"
+msgstr "𐑐𐑻𐑕𐑩𐑯𐑩𐑤"
+
+#: ../desktop-directories/Personal.directory.in.h:3
+msgid "Personal settings"
+msgstr "𐑐𐑻𐑕𐑩𐑯𐑩𐑤 𐑕𐑧𐑑𐑦𐑙𐑟"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "𐑩𐑛𐑥𐑦𐑯𐑦𐑕𐑑𐑮𐑱𐑖𐑩𐑯"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "𐑗𐑱𐑯𐑡 𐑕𐑦𐑕𐑑𐑩𐑥-𐑢𐑲𐑛 𐑕𐑧𐑑𐑦𐑙𐑟 (𐑩𐑓𐑧𐑒𐑑𐑕 𐑷𐑤 𐑿𐑟𐑼𐑟)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "𐑐𐑻𐑕𐑩𐑯𐑩𐑤 𐑐𐑮𐑧𐑓𐑼𐑩𐑯𐑕𐑩𐑟"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "𐑐𐑮𐑧𐑓𐑼𐑩𐑯𐑕𐑩𐑟"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "𐑕𐑦𐑕𐑑𐑩𐑥"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "𐑕𐑦𐑕𐑑𐑩𐑥 𐑕𐑧𐑑𐑦𐑙𐑟"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "𐑕𐑦𐑕𐑑𐑩𐑥 𐑑𐑵𐑤𐑟"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "𐑕𐑦𐑕𐑑𐑩𐑥 𐑒𐑩𐑯𐑓𐑦𐑜𐑘𐑼𐑱𐑖𐑩𐑯 𐑯 𐑥𐑭𐑯𐑩𐑑𐑻𐑦𐑙"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "𐑿𐑯𐑩𐑝𐑻𐑕𐑩𐑤 𐑨𐑒𐑕𐑧𐑕"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "𐑿𐑯𐑩𐑝𐑻𐑕𐑩𐑤 𐑨𐑒𐑕𐑧𐑕 𐑕𐑧𐑑𐑦𐑙𐑟"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "𐑨𐑒𐑕𐑧𐑕𐑼𐑦𐑟"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "𐑛𐑧𐑕𐑒𐑑𐑪𐑐 𐑨𐑒𐑕𐑧𐑕𐑼𐑦𐑟"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯𐑟"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "𐑐𐑻𐑕𐑩𐑯𐑩𐑤 𐑐𐑮𐑧𐑓𐑼𐑩𐑯𐑕𐑩𐑟 𐑯 𐑩𐑛𐑥𐑦𐑯𐑦𐑕𐑑𐑮𐑱𐑖𐑩𐑯 𐑕𐑧𐑑𐑦𐑙𐑟"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯𐑟 𐑞𐑨𐑑 𐑛𐑦𐑛 𐑯𐑪𐑑 𐑓𐑦𐑑 𐑦𐑯 𐑳𐑞𐑼 𐑒𐑨𐑑𐑩𐑜𐑪𐑮𐑰𐑟"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "𐑳𐑞𐑼"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "𐑥𐑧𐑯𐑿 𐑧𐑛𐑦𐑑𐑹"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "𐑧𐑛𐑦𐑑 𐑥𐑧𐑯𐑿𐑟"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_𐑨𐑐𐑤𐑦𐑒𐑱𐑖𐑩𐑯𐑟:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_𐑛𐑩𐑓𐑪𐑤𐑑𐑕"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_𐑥𐑧𐑯𐑿𐑟:"
+
+#. Translators: %s is the version number
+#, python-format
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+msgid "Simple Menu Editor %s"
+msgstr "𐑕𐑦𐑥𐑐𐑩𐑤 𐑥𐑧𐑯𐑿 𐑧𐑛𐑦𐑑𐑼 %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "𐑯𐑱𐑥"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "𐑖𐑴"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"𐑒𐑨𐑯𐑪𐑑 𐑓𐑲𐑯𐑛 𐑣𐑴𐑥 𐑛𐑲𐑮𐑧𐑒𐑑𐑼𐑦: 𐑯𐑪𐑑 𐑕𐑧𐑑 𐑦𐑯 /etc/passwd 𐑯 𐑯𐑴 𐑝𐑨𐑤𐑿 𐑓𐑹 $HOME 𐑦𐑯 "
+"𐑧𐑯𐑝𐑲𐑼𐑯𐑥𐑩𐑯𐑑"
+
diff --git a/po/en_CA.po b/po/en_CA.po
new file mode 100644
index 0000000..c783eb7
--- /dev/null
+++ b/po/en_CA.po
@@ -0,0 +1,232 @@
+# Canadian English translation for mate-menus
+# Copyright (C) 2004-2005 Adam Weinberger and the MATE Foundation
+# This file is distributed under the same licence as the mate-menus package.
+# Adam Weinberger <[email protected]>, 2004, 2005.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2005-12-23 02:37-0500\n"
+"PO-Revision-Date: 2005-08-02 01:44-0400\n"
+"Last-Translator: Adam Weinberger <[email protected]>\n"
+"Language-Team: Canadian English <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/Accessibility.directory.in.h:1
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:1
+msgid "Accessibility"
+msgstr "Accessibility"
+
+#: ../desktop-directories/Accessibility.directory.in.h:2
+msgid "Accessibility Settings"
+msgstr "Accessibility Settings"
+
+#: ../desktop-directories/Accessories.directory.in.h:1
+msgid "Accessories"
+msgstr "Accessories"
+
+#: ../desktop-directories/Accessories.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Desktop accessories"
+
+#: ../desktop-directories/Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Applications"
+
+#: ../desktop-directories/Desktop.directory.in.h:1
+msgid "Desktop"
+msgstr "Desktop"
+
+#: ../desktop-directories/Desktop.directory.in.h:2
+msgid "Personal preferences and administration settings"
+msgstr "Personal preferences and administration settings"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programming"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Tools for software development"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Education"
+
+#: ../desktop-directories/Games.directory.in.h:1
+msgid "Games"
+msgstr "Games"
+
+#: ../desktop-directories/Games.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Games and amusements"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Graphics"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Graphics applications"
+
+#: ../desktop-directories/Internet.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Internet.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programs for Internet access, such as web and email"
+
+#: ../desktop-directories/Multimedia.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Multimedia menu"
+
+#: ../desktop-directories/Multimedia.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Sound & Video"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Office"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Office Applications"
+
+#: ../desktop-directories/Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Applications that do not fit in other categories"
+
+#: ../desktop-directories/Other.directory.in.h:2
+msgid "Other"
+msgstr "Other"
+
+#: ../desktop-directories/Preferences.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Personal preferences"
+
+#: ../desktop-directories/Preferences.directory.in.h:2
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Preferences"
+
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:2
+msgid "Accessibility related preferences"
+msgstr "Accessibility-related preferences"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences and settings"
+msgstr "Personal preferences and settings"
+
+#: ../desktop-directories/System-Settings.directory.in.h:1
+msgid "Administration"
+msgstr "Administration"
+
+#: ../desktop-directories/System-Settings.directory.in.h:2
+msgid "Change systemwide settings (affects all users)"
+msgstr "Change system-wide settings (affects all users)"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "System Tools"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "System configuration and monitoring"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Menu Editor"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "Edit Menus"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "_Applications:"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "_Defaults"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "_Menus:"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123
+msgid "Name"
+msgstr "Name"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115
+msgid "Show"
+msgstr "Show"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Menu file"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Monitor for menu changes"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Include <Exclude>d entries"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Include NoDisplay=true entries"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Invalid desktop file ID"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Invalid Filename]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed; reloading ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Menu tree is empty"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- test MATE's implementation of the Desktop Menu Specification"
diff --git a/po/en_GB.po b/po/en_GB.po
new file mode 100644
index 0000000..a2d0872
--- /dev/null
+++ b/po/en_GB.po
@@ -0,0 +1,283 @@
+# English (British) translation for mate-menus
+# Copyright (C) 2005 The Mate Foundation
+# This file is distributed under the same license as the mate-menus package.
+# David Lodge <[email protected]>, 2005.
+# Philip Withnall <[email protected]>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-09-12 23:34+0100\n"
+"PO-Revision-Date: 2007-05-15 22:40-0000\n"
+"Last-Translator: Philip Withnall <[email protected]>\n"
+"Language-Team: British English <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Multimedia menu"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Sound & Video"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programming"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Tools for software development"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Education"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Games"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Games and amusements"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Graphics"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Graphics applications"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Hardware"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Settings for several hardware devices"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet and Network"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Network-related settings"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Look and Feel"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Settings controlling the desktop appearance and behaviour"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programs for Internet access such as web and email"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Office"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Office Applications"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Personal"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Personal settings"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Administration"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Change system-wide settings (affects all users)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Personal preferences"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Preferences"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "System"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "System settings"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "System Tools"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "System configuration and monitoring"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Universal Access"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Universal Access Settings"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Accessories"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Desktop accessories"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Applications"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Personal preferences and administration settings"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Applications that did not fit in other categories"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Other"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Menu Editor"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Edit Menus"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Applications:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Defaults"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menus:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Simple Menu Editor %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Name"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Show"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Menu file"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Monitor for menu changes"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Include <Exclude>d entries"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Include NoDisplay=true entries"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Invalid desktop file ID"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Invalid Filename]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Menu tree is empty"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- test MATE's implementation of the Desktop Menu Specification"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Universal access related preferences"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Personal preferences and settings"
+
+#~ msgid "Accessibility"
+#~ msgstr "Accessibility"
+
+#~ msgid "Accessibility Settings"
+#~ msgstr "Accessibility Settings"
+
+#~ msgid "Desktop"
+#~ msgstr "Desktop"
+
+#~ msgid "Hide"
+#~ msgstr "Hide"
diff --git a/po/eo.po b/po/eo.po
new file mode 100644
index 0000000..ab93197
--- /dev/null
+++ b/po/eo.po
@@ -0,0 +1,315 @@
+# Esperanto translation for mate-menus
+# Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006
+# This file is distributed under the same license as the mate-menus package.
+#
+# Joop EGGEN <[email protected]>, 2006
+# Guillaume SAVATON <[email protected]>, 2006
+# Kristjan SCHMIDT <[email protected]>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-"
+"menus&component=general\n"
+"POT-Creation-Date: 2010-06-22 01:58+0000\n"
+"PO-Revision-Date: 2010-06-23 17:13+0200\n"
+"Last-Translator: Kristjan SCHMIDT <[email protected]>\n"
+"Language-Team: Esperanto <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2010-06-23 15:12+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Plurmediomenuo"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Sono kaj video"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programado"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Iloj por programado"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Edukado"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Ludoj"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Ludoj kaj amuzoj"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafikoj"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Grafikaj aplikaĵoj"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Aparataro"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Agordaro por pluraj aparatoj"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Interreto kaj reto"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Retrilata agordaro"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Aspekto kaj konduto"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Agordaro reganta aspekton kaj konduton de la labortablo"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Interreto"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programoj por retuzo, ekzemple por retlegado kaj retpoŝto"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Oficejo"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Oficejaj aplikaĵoj"
+
+#. Translators: this is Personal as in "Personal settings"
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal"
+msgstr "Persona"
+
+#: ../desktop-directories/Personal.directory.in.h:3
+msgid "Personal settings"
+msgstr "Persona agordaro"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Administrado"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Ŝanĝi plensistemajn agordojn (aplikiĝas al ĉiuj uzantoj)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Personaj agordoj"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Agordoj"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Sistemo"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Sistema agordaro"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Sistemaj iloj"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Agordi kaj kontroli sistemon"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Universala aliro"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Agordoj por universala aliro"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Utilaĵoj"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Labortablaj utilaĵoj"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Aplikaĵoj"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Personaj preferoj kaj administraj agordoj"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Aplikaĵoj neagordaj aliajn kategoriojn"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Alia"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Menua redaktilo"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Redakti menuojn"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Aplikaĵoj:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Defaŭltoj"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menuoj:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Simpla menu-redaktilo %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Nomo"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Montri"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Ne eblas trovi hejman dosierujon: ne agordita en /etc/passwd kaj mankas "
+"valoro por media variablo $HOME"
+
+#~ msgid "Action"
+#~ msgstr "Ago"
+
+#~ msgid "Action games"
+#~ msgstr "Agaj ludoj"
+
+#~ msgid "Adventure"
+#~ msgstr "Aventuro"
+
+#~ msgid "Adventure style games"
+#~ msgstr "Aventur-ludoj"
+
+#~ msgid "Arcade"
+#~ msgstr "Arkado"
+
+#~ msgid "Arcade style games"
+#~ msgstr "Arkadmanieraj ludoj"
+
+#~ msgid "Falling blocks"
+#~ msgstr "Falantaj blokoj"
+
+#~ msgid "Falling blocks games"
+#~ msgstr "Ludoj de falantaj blokoj"
+
+#~ msgid "Board"
+#~ msgstr "Tabulo"
+
+#~ msgid "Board games"
+#~ msgstr "Tabulaj ludoj"
+
+#~ msgid "Card games"
+#~ msgstr "Kart-ludoj"
+
+#~ msgid "Cards"
+#~ msgstr "Kartoj"
+
+#~ msgid "Debian"
+#~ msgstr "Debiano"
+
+#~ msgid "The Debian menu"
+#~ msgstr "La Debiana menuo"
+
+#~ msgid "Science"
+#~ msgstr "Scienco"
+
+#~ msgid "Scientific applications"
+#~ msgstr "Sciencaj programoj"
+
+#~ msgid "Games for kids"
+#~ msgstr "Infan-ludoj"
+
+#~ msgid "Kids"
+#~ msgstr "Infanoj"
+
+#~ msgid "Logic"
+#~ msgstr "Logiko"
+
+#~ msgid "Logic and puzzle games"
+#~ msgstr "Puzloj kaj logikaj ludoj"
+
+#~ msgid "Role playing"
+#~ msgstr "Rolo"
+
+#~ msgid "Role playing games"
+#~ msgstr "Rolo-ludoj"
+
+#~ msgid "Simulation"
+#~ msgstr "Ŝajnigado"
+
+#~ msgid "Simulation games"
+#~ msgstr "Ŝajnigadaj ludoj"
+
+#~ msgid "Sports"
+#~ msgstr "Sporto"
+
+#~ msgid "Sports games"
+#~ msgstr "Sportaj ludoj"
+
+#~ msgid "Strategy"
+#~ msgstr "Strategio"
+
+#~ msgid "Strategy games"
+#~ msgstr "Strategiaj ludoj"
+
+#~ msgid "Monitor for menu changes"
+#~ msgstr "Kontrolilo por menuaj ŝanĝoj"
+
+#~ msgid "Menu file"
+#~ msgstr "Menua dosiero"
+
+#~ msgid " <excluded>"
+#~ msgstr " <ekskludita>"
+
+#~ msgid "[Invalid Filename]"
+#~ msgstr "[Nevalida dosiernomo]"
+
+#~ msgid "MENU_FILE"
+#~ msgstr "MENU_FILE"
diff --git a/po/es.po b/po/es.po
new file mode 100644
index 0000000..490cf3b
--- /dev/null
+++ b/po/es.po
@@ -0,0 +1,281 @@
+# translation of mate-menus to spanish
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) 2005 Mate Foundation, 2005.
+#
+# Francisco Javier F. Serrador <[email protected]>, 2005, 2006.
+# Claudio Saavedra <[email protected]>, 2007.
+# Jorge González <[email protected]>, 200, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus.HEAD.es\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-"
+"menus&component=general\n"
+"POT-Creation-Date: 2009-06-21 17:35+0000\n"
+"PO-Revision-Date: 2009-06-27 14:57+0200\n"
+"Last-Translator: Jorge González <[email protected]>\n"
+"Language-Team: Español <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Menú de programas para multimedia"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Sonido y vídeo"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programación"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Herramientas para el desarrollo del software"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Educación"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Juegos"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Juegos y distracciones"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Gráficos"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Aplicaciones gráficas"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Hardware"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Propiedades para varios dispositivos de hardware"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet y red"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Propiedades relacionadas con la red"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Visualización y comportamiento"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr ""
+"Propiedades que controlan la apariencia y el comportamiento del escritorio"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programas para acceso a Internet, tales como web y correo-e"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Oficina"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Aplicaciones de oficina"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Personal"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Preferencias personales"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Administración"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr ""
+"Cambia las preferencias globales del sistema (afecta a todos los usuarios)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Preferencias personales"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Preferencias"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Sistema"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Preferencias del sistema"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Herramientas del sistema"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Configuración y monitorización del sistema"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Acceso universal"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Preferencias del acceso universal"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Accesorios"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Accesorios del escritorio"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Aplicaciones"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Propiedades personales y opciones de administración"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Aplicaciones que no entran en otras categorías"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Otras"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Editor del menú"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Editar menús"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Aplicaciones:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Predeterminados"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menús:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+#| msgid "Menu Editor"
+msgid "Simple Menu Editor %s"
+msgstr "Editor simple del menú %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Nombre"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Mostrar"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"No se puede encontrar el directorio personal: no está establecido en /etc/"
+"passwd y no hay ningún valor en la variable de entorno $HOME"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Archivo de menú"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "ARCHIVO_MENÚ"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Monitorizar cambios en el menú"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Incluir entradas <Exclude>"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Incluir entradas Nodisplay=true"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Id de archivo de escritorio inválido"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Nombre de archivo inválido]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== El menú ha cambiado, recargándolo ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "El árbol del menú está vacío"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr ""
+"- probar la implementación de MATE de la Especificación del Menú de "
+"Escritorio"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Preferencias relacionadas con el acceso universal"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Preferencias y configuración personales"
diff --git a/po/et.po b/po/et.po
new file mode 100644
index 0000000..473495d
--- /dev/null
+++ b/po/et.po
@@ -0,0 +1,219 @@
+# MATE menüüde eesti keele tõlge
+# Estonian translation of Mate-menus
+#
+# Copyright (C) 2005 Free Software Foundation, Inc.
+# Copyright (C) 2007 The MATE Project
+# This file is distributed under the same license as the Mate-menus package.
+#
+# Priit Laes <[email protected]>, 2005.
+# Ivar Smolin <[email protected]>, 2005, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus HEAD\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-"
+"menus&component=general\n"
+"POT-Creation-Date: 2009-06-21 17:35+0000\n"
+"PO-Revision-Date: 2009-06-25 01:27+0300\n"
+"Last-Translator: Mattias Põldaru <mahfiaz gmail com>\n"
+"Language-Team: Estonian <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Multimedia menu"
+msgstr "Multimeediamenüü"
+
+msgid "Sound & Video"
+msgstr "Audio ja video"
+
+msgid "Programming"
+msgstr "Programmeerimine"
+
+msgid "Tools for software development"
+msgstr "Tarkvaraarenduse tööriistad"
+
+msgid "Education"
+msgstr "Õppeprogrammid"
+
+msgid "Games"
+msgstr "Mängud"
+
+msgid "Games and amusements"
+msgstr "Mängud ja meelelahutus"
+
+msgid "Graphics"
+msgstr "Graafika"
+
+msgid "Graphics applications"
+msgstr "Graafikatöötlusprogrammid"
+
+msgid "Hardware"
+msgstr "Riistvara"
+
+msgid "Settings for several hardware devices"
+msgstr "Mõnede riistvaraliste seadmete sätted"
+
+msgid "Internet and Network"
+msgstr "Internet ja võrk"
+
+msgid "Network-related settings"
+msgstr "Võrguga seotud sätted"
+
+msgid "Look and Feel"
+msgstr "Välimus ja tunnetus"
+
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Töölaua välimuse ja käitumise juhtimine"
+
+msgid "Internet"
+msgstr "Internet"
+
+msgid "Programs for Internet access such as web and email"
+msgstr "Internetprogrammid - näiteks veebi ja e-posti jaoks"
+
+msgid "Office"
+msgstr "Kontor"
+
+msgid "Office Applications"
+msgstr "Kontoritarkvara"
+
+msgid "Personal"
+msgstr "Isiklik"
+
+msgid "Personal settings"
+msgstr "Isiklikud sätted"
+
+msgid "Administration"
+msgstr "Haldamine"
+
+msgid "Change system-wide settings (affects all users)"
+msgstr "Ülesüsteemiliste sätete muutmine (mõjutab kõiki kasutajaid)"
+
+msgid "Personal preferences"
+msgstr "Isiklikud eelistused"
+
+msgid "Preferences"
+msgstr "Eelistused"
+
+msgid "System"
+msgstr "Süsteem"
+
+msgid "System settings"
+msgstr "Süsteemi sätted"
+
+msgid "System Tools"
+msgstr "Süsteemi tööriistad"
+
+msgid "System configuration and monitoring"
+msgstr "Süsteemi seadistamine ja jälgimine"
+
+msgid "Universal Access"
+msgstr "Universaalne ligipääs"
+
+msgid "Universal Access Settings"
+msgstr "Universaalse ligipääsu sätted"
+
+msgid "Accessories"
+msgstr "Tarvikud"
+
+msgid "Desktop accessories"
+msgstr "Töölaua tarvikud"
+
+msgid "Applications"
+msgstr "Rakendused"
+
+msgid "Personal preferences and administration settings"
+msgstr "Isiklikud eelistused ja haldussätted"
+
+msgid "Applications that did not fit in other categories"
+msgstr "Rakendused, mis ei sobinud teistesse kategooriatesse"
+
+msgid "Other"
+msgstr "Muu"
+
+msgid "Menu Editor"
+msgstr "Menüüredaktor"
+
+msgid "Edit Menus"
+msgstr "Menüüde redigeermine"
+
+msgid "_Applications:"
+msgstr "_Rakendused:"
+
+msgid "_Defaults"
+msgstr "_Vaikimisi"
+
+msgid "_Menus:"
+msgstr "_Menüüd:"
+
+#. Translators: %s is the version number
+#, python-format
+#| msgid "Menu Editor"
+msgid "Simple Menu Editor %s"
+msgstr "Lihtne menüüredaktor %s"
+
+msgid "Name"
+msgstr "Nimi"
+
+msgid "Show"
+msgstr "Vaade"
+
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Kodukausta pole võimalik leida: seda pole määratud ei /etc/passwd failis ega "
+"$HOME keskkonnamuutujas"
+
+msgid "Menu file"
+msgstr "Menüüfail"
+
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+msgid "Monitor for menu changes"
+msgstr "Jälgi muudatusi menüüs"
+
+msgid "Include <Exclude>d entries"
+msgstr "Kaasa ka <välistatud> kirjed"
+
+msgid "Include NoDisplay=true entries"
+msgstr "Kaasa ka <NoDisplay=true> kirjed"
+
+msgid "Invalid desktop file ID"
+msgstr "Vigane töölauafaili ID"
+
+msgid "[Invalid Filename]"
+msgstr "[Vigane failinimi]"
+
+msgid " <excluded>"
+msgstr "<välistatud>"
+
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Menüü muudetud, laaditakse uuesti ====\n"
+"\n"
+"\n"
+
+msgid "Menu tree is empty"
+msgstr "Menüüpuu on tühi"
+
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- testi MATE'ipoolset teostust Töölauamenüü spetsifikatsioonist"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Universaalse ligipääsuga seotud eelistused"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Isiklikud eelistused ja sätted"
diff --git a/po/eu.po b/po/eu.po
new file mode 100644
index 0000000..5a54c81
--- /dev/null
+++ b/po/eu.po
@@ -0,0 +1,269 @@
+# translation of eu.po to Basque
+# This file is distributed under the same license as the mate-menus package.
+#
+# Mikel Olasagasti <[email protected]>, 2004, 2005.
+# Iñaki Larrañaga Murgoitio <[email protected]>, 2005, 2007, 2008, 2009, 2010.
+# Iñaki Larrañaga Murgoitio <[email protected]>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: eu\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-08-26 18:26+0200\n"
+"PO-Revision-Date: 2010-03-23 15:09+0100\n"
+"Last-Translator: Iñaki Larrañaga Murgoitio <[email protected]>\n"
+"Language-Team: Basque <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Multimediaren menua"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Soinua eta bideoa"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programazioa"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Softwarea garatzeko tresnak"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Hezkuntza"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Jokoak"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Jokoak eta denbora-pasak"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Irudiak"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Irudi aplikazioak"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Hardwarea"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Hainbat gailuentzako ezarpenak"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet eta sarea"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Sareko ezarpenak"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Itxura eta izaera"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Mahaigainaren itxura eta portaera kontrolatzeko ezarpenak"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Interneteko programak (web arakatzaileak eta posta bezeroak adib.)"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Bulegoa"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Bulegorako aplikazioak"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Pertsonala"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Ezarpen pertsonalak"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Sistema-konfigurazioa"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Aldatu sistema osoko ezarpenak (erabiltzaile guztiengan du eragina)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Hobespen pertsonalak"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Hobespenak"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Sistema"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Sistemaren ezarpenak"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Sistemaren tresnak"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Sistemaren konfigurazioa eta monitorizazioa"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Sarbide unibertsala"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Sarbide unibertsalaren ezarpenak"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Gehigarriak"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Mahaigainaren gehigarriak"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Aplikazioak"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Hobespen pertsonalak eta administrazio-ezarpenak"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Sailkatu ezin diren aplikazioak"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Bestelakoak"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Menu-editorea"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Editatu menuak"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Aplikazioak:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Lehenetsiak"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menuak:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Menu-editore bakuna %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Izena"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Erakutsi"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Ezin izan da etxeko direktorioa aurkitu: ez dago /etc/passwd-en ezarrita, "
+"ezta ere inguruneko $HOME aldagaian"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Menu-fitxategia"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FITXATEGIA"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Menu-aldaketen monitorea"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Txertatu <Exclude> sarrerak"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Txertatu 'NoDisplay=true' sarrerak"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Mahaigaineko fitxategiaren ID baliogabea"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Fitxategi-izen baliogabea]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <baztertua>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Menua aldatua, birkargatzen ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Menuaren zuhaitza hutsik dago"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- probatu MATEren mahaigaineko menuak zehazteko inplementazioa"
+
diff --git a/po/fa.po b/po/fa.po
new file mode 100644
index 0000000..a47c116
--- /dev/null
+++ b/po/fa.po
@@ -0,0 +1,272 @@
+# Persian translation of mate-menus.
+# Copyright (C) 2005 Sharif FarsiWeb, Inc.
+# This file is distributed under the same license as the mate-menus package.
+# Farzaneh Sarafraz <[email protected]>, 2005.
+# Meelad Zakaria <[email protected]>, 2005.
+# Roozbeh Pournader <[email protected]>, 2005, 2008.
+# Arash Mousavi <[email protected]>, 2008.
+# Elnaz Sarbar <[email protected]>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus HEAD\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-04-17 14:41+0100\n"
+"PO-Revision-Date: 2008-09-18 22:48-0700\n"
+"Last-Translator: Roozbeh Pournader <[email protected]>\n"
+"Language-Team: Persian\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "منوی چندرسانه‌ای"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "صدا و تصویر"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "برنامه‌سازی"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "ابزارهای تولید نرم‌افزار"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "آموزش"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "بازی‌ها"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "بازی و سرگرمی"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "گرافیک"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "برنامه‌های گرافیکی"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "سخت‌افزار"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "تنظیمات دستگاه‌های مختلف سخت‌افزاری"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "اینترنت و شبکه"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "تنظیمات مربوط به شبکه"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "شکل و رفتار"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "تنظیماتی که ظاهر و رفتار رومیزی را کنترل می‌کنند"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "اینترنت"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "برنامه‌هایی برای دست‌یابی به اینترنت مثل وب و پست الکترونیکی"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "اداری"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "برنامه‌های اداری"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "شخصی"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "تنظیمات شخصی"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "مدیریت"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "تغییر تنظیمات کل سیستم (همه‌ی کاربران متأثر می‌شوند)‏"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "ترجیحات شخصی"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "ترجیحات"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "سیستم"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "تنظیمات سیستم"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "ابزارهای سیستم"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "پیکربندی و پایشگری سیستم"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "دسترسی همگانی"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "تنظیمات دسترسی همگانی"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "لوازم"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "لوازم رومیزی"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "برنامه‌ها"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "ترجیحات شخصی و تنظیمات مدیریتی"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "برنامه‌هایی که در مقولات دیگر جا نمی‌گیرند"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "غیره"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "ویرایشگر منو"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "ویرایش منوها"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "_برنامه‌ها:"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "_پیش‌فرض‌ها"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "_منوها:"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "نام"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "نشان دادن"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"شاخه‌ی آغازه پیدا نمی‌شود: در ‎/etc/passwd تنظیم نشده و ‎$HOME نیز در محیط مقدار "
+"ندارد"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "پرونده‌ی منو"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "پایشگر تغییرات منو"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "شامل کردن مدخل‌های <Exclude>شده‏"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "شامل کردن مدخل‌های NoDisplay=درست"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "شناسه‌ی نامعتبر برای پرونده‌ی رومیزی"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[پرونده‌ی نامعتبر]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <کنار گذاشته شده>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== منو تغییر کرد، مجدداً بارگیری می‌شود ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "درخت منو خالی است"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- آزمایش پیاده‌سازی گنوم از توصیف منوی رومیزی"
+
+#~ msgid "Accessibility"
+#~ msgstr "دسترسی‌پذیری"
+
+#~ msgid "Desktop"
+#~ msgstr "رومیزی"
+
+#~ msgid "Accessibility related preferences"
+#~ msgstr "ترجیحات مربوط به دسترسی‌پذیری"
diff --git a/po/fi.po b/po/fi.po
new file mode 100644
index 0000000..5747de4
--- /dev/null
+++ b/po/fi.po
@@ -0,0 +1,282 @@
+# Finnish messages for mate-menus
+# Copyright (C) 2004-2005 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gail package.
+# Tommi Vainikainen <[email protected]>, 2004-2005.
+# Ilkka Tuohela <[email protected]>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-19 10:39+0300\n"
+"PO-Revision-Date: 2009-07-19 10:45+0300\n"
+"Last-Translator: Ilkka Tuohela <[email protected]>\n"
+"Language-Team: Finnish <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Multimediavalikko"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Ääni & video"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Ohjelmointi"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Työkaluja sovelluskehitykseen"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Opetusohjelmat"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Pelit"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Pelit ja viihde"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafiikka"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Grafiikkasovellukset"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Laitteisto"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Laitteiston asetukset"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet ja verkko"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Verkkoon liittyvät asetukset"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Ulkoasu ja käyttötuntuma"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Työpöytäympäristön ulkoasua ja toimintaa ohjaavat asetukset"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Internet-sovellukset kuten selain ja sähköposti"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Toimisto"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Toimistosovellukset"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Henkilökohtaiset"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Henkilökohtaiset asetukset"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Ylläpito"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Muuta järjestelmänlaajuisia asetuksia (vaikuttaa joka käyttäjään)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Henkilökohtaiset valinnat"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Asetukset"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Järjestelmä"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Järjestelmän asetukset"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Järjestelmätyökalut"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Järjestelmäasetukset ja -seuranta"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Esteettömyys"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Esteettömän käytön asetukset"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Apuohjelmat"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Työpöydän apuohjelmat"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Sovellukset"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Henkilökohtaiset ja järjestelmän asetukset"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Muihin luokkiin sopimattomat sovellukset"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Muut"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Valikkomuokkain"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Muokkaa valikkoja"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Sovellukset:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Oletukset"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Valikot:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Valikkomuokkain %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Nimi"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Näytä"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Kotihakemistoa ei löydy: ei asetettu tiedostossa /etc/passwd eikä $HOME "
+"muuttujalla ole arvoa"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Valikkotiedosto"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Tarkkaile valikkomuutoksia"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Näytä myös piilotetut (<Exclude>) kohdat"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Näytä myös \"NoDisplay=true\"-kohdat"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Virheellinen työpöytätiedoston tunniste"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Virheellinen tiedostonimi]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr "<piilotettu>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Valikko on muuttunut, ladataan uudelleen ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Valikkopuu on tyhjä"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- testaa Maten toteutusta Työpöytävalikkojen määrittelystä"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Esteettömyyteen liittyvät asetukset"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Henkilökohtaiset asetukset"
+
+#~ msgid "Accessibility"
+#~ msgstr "Esteettömyys"
+
+#~ msgid "Accessibility Settings"
+#~ msgstr "Esteettömyysasetukset"
+
+#~ msgid "Desktop"
+#~ msgstr "Työpöytä"
diff --git a/po/fr.po b/po/fr.po
new file mode 100644
index 0000000..16e1654
--- /dev/null
+++ b/po/fr.po
@@ -0,0 +1,274 @@
+# French translation of mate-menus.
+# Copyright (C) 2004-2009 Free Software Foundation, Inc.
+# This file is distributed under the same license as the mate-menu package.
+#
+# Baptiste Mille-Mathias <[email protected]>, 2004-2005.
+# Vincent Untz <[email protected]>, 2005.
+# Christophe Merlet <[email protected]>, 2005.
+# Robert-André Mauchin <[email protected]>, 2007.
+# Stéphane Raimbault <[email protected]>, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus.HEAD.fr\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-08-26 21:30+0200\n"
+"PO-Revision-Date: 2009-08-26 21:32+0200\n"
+"Last-Translator: Claude Paroz <[email protected]>\n"
+"Language-Team: MATE French team <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Multimédia"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Son et vidéo"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programmation"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Les outils de développement de logiciels"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Éducation"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Jeux"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Jeux et divertissements"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Graphisme"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Applications graphiques"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Matériel"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Paramètres pour certains périphériques"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet et réseau"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Paramètres concernant le réseau"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Apparence"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Paramètres contrôlant l'apparence et le comportement du bureau"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Les programmes pour accéder à Internet tel que le Web ou la messagerie"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Bureautique"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Autres applications"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Personnel"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Paramètres personnels"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Administration"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr ""
+"Modifie globalement les paramètres du système (affecte tous les utilisateurs)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Préférences personnelles"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Préférences"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Système"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Paramètres système"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Outils système"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Configuration et surveillance système"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Accès universel"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Paramètres d'accès universel"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Accessoires"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Accessoires du bureau"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Applications"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Préférences personnelles et paramètres du système"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Les applications qui ne conviennent à aucune autre catégorie"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Autre"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Éditeur de menus"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Éditer les menus"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Applications :"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "Valeurs par _défaut"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menus :"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Éditeur simple de menus %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Nom"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Afficher"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Impossible de trouver le dossier personnel : il n'est pas configuré dans /"
+"etc/passwd et aucune valeur pour $HOME ne se trouve dans l'environnement"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Fichier de menu"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "FICHIER_MENU"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Surveiller les changements de menu"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Inclure les entrées exclues avec <Exclude>"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Inclure les entrées NoDisplay=true"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Identifiant de fichier .desktop non valide"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Nom de fichier non valide]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <exclus>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Changement du menu, rechargement ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "L'arbre de menu est vide"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- teste l'implémentation MATE de la spécification des menus .desktop"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Préférences et paramètres personnels"
diff --git a/po/fur.po b/po/fur.po
new file mode 100644
index 0000000..710f3ce
--- /dev/null
+++ b/po/fur.po
@@ -0,0 +1,270 @@
+# Friulian translation of mate-menus.
+# Copyright (C) 2007 Free Software Foundation, Inc.
+# Massimo Furlani <[email protected]>, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-03-11 13:20+0100\n"
+"PO-Revision-Date: 2008-03-10 13:15+0100\n"
+"Last-Translator: Massimo Furlani <[email protected]>\n"
+"Language-Team: FRIULIAN <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Friulian\n"
+"X-Poedit-Country: ITALY\n"
+
+#: ../desktop-directories/Accessibility.directory.in.h:1
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Acess Universâl"
+
+#: ../desktop-directories/Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Impostazions Acess Universâl"
+
+#: ../desktop-directories/Accessories.directory.in.h:1
+msgid "Accessories"
+msgstr "Robutis"
+
+#: ../desktop-directories/Accessories.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Robutis dal desktop"
+
+#: ../desktop-directories/Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Aplicazions"
+
+#: ../desktop-directories/Desktop.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Preferencis personâls e impostazions di aministrazion"
+
+#: ../desktop-directories/Desktop.directory.in.h:2
+#: ../desktop-directories/System.directory.in.h:1
+msgid "System"
+msgstr "Sisteme"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programazion"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Imprescj par il svilup dal software"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Istruzion"
+
+#: ../desktop-directories/Games.directory.in.h:1
+msgid "Games"
+msgstr "Zûcs"
+
+#: ../desktop-directories/Games.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Zûcs e golosets"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafiche"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Aplicazions di grafiche"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Hardware"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Impostazions par cetancj dispositîfs hardware"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet e Rêt"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Impostazions de rêt"
+
+#: ../desktop-directories/Internet.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Internet.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programs par internet come web e mail"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Aspiet e stîl"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Impostazions ch'a controlin l'aspiet e il compuartament dal desktop"
+
+#: ../desktop-directories/Multimedia.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Menu multimediâl"
+
+#: ../desktop-directories/Multimedia.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Audio e video"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Ufici"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Aplicazions di ufici"
+
+#: ../desktop-directories/Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Aplicazions ch'a no jentrin ta chês altres categoriis"
+
+#: ../desktop-directories/Other.directory.in.h:2
+msgid "Other"
+msgstr "Altri"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Personâl"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Impostazions personâls"
+
+#: ../desktop-directories/Preferences.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Preferencis personâls"
+
+#: ../desktop-directories/Preferences.directory.in.h:2
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Preferencis"
+
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:2
+msgid "Universal access related preferences"
+msgstr "Preferencis relativis a l'acess universâl"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences and settings"
+msgstr "Preferencis e impostazions personâls"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Impostazions di sisteme"
+
+#: ../desktop-directories/System-Settings.directory.in.h:1
+msgid "Administration"
+msgstr "Aministrazion"
+
+#: ../desktop-directories/System-Settings.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Modifiche impostazions di sisteme (par ducj i utents)"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Imprescj di sisteme"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Configurazion e monitoragjo di sisteme"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Modificadôr di menu"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "Modifiche i menu"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "_Aplicazions:"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "Pre_definidis"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "_Menu:"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123
+msgid "Name"
+msgstr "Nom"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115
+msgid "Show"
+msgstr "Mostre"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Impussibil cjatâ la directory home: no je impostade in /etc/passwd e la "
+"variabil di ambient $HOME no a nissun valôr"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "File di menu"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "FILE_MENU"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Monitorê i gambiaments di menu"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Meti dentri lis vôs <Exclude>"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Meti dentri lis vôs NoDisplay=true"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "ID di file desktop nô valid"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Nom di file no valid]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Menu gambiât, lu torni a cjamâ ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "L'arbul dai menu al è vueit"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- test da implementazion di MATE da specifiche par i menu dal desktop"
diff --git a/po/fy.po b/po/fy.po
new file mode 100644
index 0000000..0223372
--- /dev/null
+++ b/po/fy.po
@@ -0,0 +1,269 @@
+# Frisian translation for mate-menus
+#
+# This file is distributed under the same license as the mate-menus package.
+# Dooitze de Jong <[email protected]>, 2009-2010.
+# Jaap Haitsma <[email protected]>, 2007.
+# Peter Hoogsteen <[email protected] >, 2008.
+# Sietse <>, 2009.
+# berend <[email protected]>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n"
+"POT-Creation-Date: 2010-07-07 11:52+0000\n"
+"PO-Revision-Date: 2010-07-18 00:30+0100\n"
+"Last-Translator: Sense Hofstede <[email protected]>\n"
+"Language-Team: Frisian <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2010-07-17 16:24+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Media"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Lûd en Fideo"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programmeare"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Programma's foar it untwikkelje fan programma's"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Edukaasje"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Spultsjes"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Spultsjes en Ferdiverdaasje"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafysk"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Grafyske programma's"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Hardware"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Ynstellings foar ferskillende hardware apparaten"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Ynternet en Netwurk"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Netwurk-relativearre ynstellings"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Uterlik"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Ynstellingen foar it gedrach en it uterlik fan it bureaublêd"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Ynternet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programma's foar Ynternet tagong sa as web en ynternet post"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Kantoar"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Kantoar programma's"
+
+#. Translators: this is Personal as in "Personal settings"
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal"
+msgstr "Persoanlik"
+
+#: ../desktop-directories/Personal.directory.in.h:3
+msgid "Personal settings"
+msgstr "Persoanlike Ynstellingen"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Administraasje"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Systeem-wide ynstellingen (alle brûkers)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Persoanlike foarkarren"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Ynstellingen"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Systeem"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Systeem Ynstellingen"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Systeem Tapassingen"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Systeem konfiguraasje en kontrolearje"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Algemiene Tagong"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Algemiene Tagong Ynstellingen"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Assesoires"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Bureaublêd assesoires"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Programma's"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Persoanlike foarkarren en administraasje ynstellings"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Applicaties die net yn oare categorien passe"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Oare programma's"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Menu Bewurker"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Bewurkje Menus"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Programma's:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Standaardynstellingen"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menu's:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Simpele Menu Bewurker %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Namme"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Toane"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment"
+msgstr "Kin persoanlike map net fine: net ynsteld yn /etc/passwd en gjin wearde foar $HOME yn de omjouwing"
+
+#~ msgid "Action"
+#~ msgstr "Aksje"
+#~ msgid "Action games"
+#~ msgstr "Aksje spultsjes"
+#~ msgid "Adventure"
+#~ msgstr "Aventoer"
+#~ msgid "Adventure style games"
+#~ msgstr "Aventoere Spultsjes"
+#~ msgid "Arcade"
+#~ msgstr "Arkade"
+#~ msgid "Arcade style games"
+#~ msgstr "Arkade spultsjes"
+#~ msgid "Falling blocks"
+#~ msgstr "Fallende blokjes"
+#~ msgid "Falling blocks games"
+#~ msgstr "Fallende blokjes spultsjes"
+#~ msgid "Board"
+#~ msgstr "Boerd"
+#~ msgid "Board games"
+#~ msgstr "Boerd spultsjes"
+#~ msgid "Card games"
+#~ msgstr "Kaart spultsjes"
+#~ msgid "Cards"
+#~ msgstr "Kaarten"
+#~ msgid "Debian"
+#~ msgstr "Debian"
+#~ msgid "The Debian menu"
+#~ msgstr "It Debian menu"
+#~ msgid "Science"
+#~ msgstr "Wittenskip"
+#~ msgid "Scientific applications"
+#~ msgstr "Wittenskiplike programma's"
+#~ msgid "Games for kids"
+#~ msgstr "Bernespultsjes"
+#~ msgid "Kids"
+#~ msgstr "Bern"
+#~ msgid "Logic"
+#~ msgstr "Logika"
+#~ msgid "Logic and puzzle games"
+#~ msgstr "Logika en puzzel spultsjes"
+#~ msgid "Role playing"
+#~ msgstr "Rollen spyljen"
+#~ msgid "Role playing games"
+#~ msgstr "Rollespultsjes"
+#~ msgid "Simulation"
+#~ msgstr "Simulaasje"
+#~ msgid "Simulation games"
+#~ msgstr "Simulaasje spultsjes"
+#~ msgid "Sports"
+#~ msgstr "Sport"
+#~ msgid "Sports games"
+#~ msgstr "Sport spultsjes"
+#~ msgid "Strategy"
+#~ msgstr "Strategy"
+#~ msgid "Strategy games"
+#~ msgstr "Strategyske spultsjes"
+
diff --git a/po/ga.po b/po/ga.po
new file mode 100644
index 0000000..7664237
--- /dev/null
+++ b/po/ga.po
@@ -0,0 +1,267 @@
+# Irish translations for mate-menus package.
+# Copyright (C) 2007-2008 Free Software Foundation, Inc.
+# This file is distributed under the same license as the mate-menus package.
+# Seán de Búrca <[email protected]>, 2007-2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus HEAD\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-29 17:44-0600\n"
+"PO-Revision-Date: 2009-07-29 17:44-0600\n"
+"Last-Translator: Seán de Búrca <[email protected]>\n"
+"Language-Team: Irish <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=5; plural=n==1 ? 0 : (n%10==1 || n%10==2) ? 1 : (n%"
+"10>=3 && n%10<= 6) ? 2 : ((n%10>=7 && n%10<=9) || n==10) ? 3 : 4;\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Roghchlár ilmheán"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Fuaim & Fís"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Ríomhchlárú"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Uirlisí d'fhorbairt bogearraí"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Oideachas"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Cluichí"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Cluichí agus siamsaíochtaí"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafaic"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Feidhmchláir grafaice"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Crua-Earraí"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Socruithe do roinnt ghléasanna crua-earraí"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Idirlíon agus Líonra"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Socruithe líonra-gaolta"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Cuma agus Mothú"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Socruithe ag rialú cuma agus oibrithe na deisce"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Idirlíon"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Feidhmchláir do rochtain an Idirlín mar ghréasán agus ríomhphost"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Oifig"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Feidhmchláir Oifige"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Pearsanta"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Socruithe pearsanta"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Riarachán"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Athraigh socruithe ar fud an chórais (tionchar ar gach úsáideoir)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Sainroghanna pearsanta"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Sainroghanna"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Córas"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Socruithe an chórais"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Uirlisí Córais"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Cumraíocht agus monatóireacht an chórais"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Rochtain Uilíoch"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Socruithe Rochtana Uilíoch"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Oiriúintí"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Oiriúintí deisce"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Feidhmchláir"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Sainroghanna pearsanta agus socruithe riaracháin"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Feidhmchláir nár oiriúnaigh i gcatagóirí eile"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Eile"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Eagarthóir na Roghchlár"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Cuir Roghchláir in Eagar"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Feidhmchláir:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "Réamh_shocruithe"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Roghchláir:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Eagarthóir na Roghchlár Simplí %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Ainm"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Taispeáin"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Ní féidir comhadlann bhaile a aimsiú: níl sí socraithe i /etc/passwd agus "
+"níl luach ann do $HOME sa timpealleacht"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Comhad roghchláir"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "COMHAD_ROGHCHLÁIR"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Déan monatóireacht ar athruithe roghchlár"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Cuir iontrálacha <Exclude>áilte san áireamh"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Cuir iontrálacha NoDisplay=true san áireamh"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "CA chomhaid deisce neamhbhailí"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Ainm Comhaid Neamhbhailí]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr "<eisiata>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Athraíodh an roghchlár, á athluchtú ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Tá an crann roghchlár folamh"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- tastáil feidhmiú MATE den tSonraíocht Roghchláir Deisce"
diff --git a/po/gl.po b/po/gl.po
new file mode 100644
index 0000000..7680f8f
--- /dev/null
+++ b/po/gl.po
@@ -0,0 +1,272 @@
+# translation of gl.po to Galego
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) 2010 Fran Diéguez.
+#
+# Ignacio Casal Quinteiro <[email protected]>, 2005.
+# Ignacio Casal Quinteiro <[email protected]>, 2007,2009.
+# Mancomún - Centro de Referencia e Servizos de Software Libre <[email protected]>, 2009.
+# Suso Baleato <[email protected]>,2009.
+# Fran Dieguez <[email protected]>, 2009.
+# Anton Meixome <[email protected]>, 2009.
+# Fran Diéguez <[email protected]>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-07-20 11:18+0200\n"
+"PO-Revision-Date: 2010-07-20 11:18+0200\n"
+"Last-Translator: Fran Diéguez <[email protected]>\n"
+"Language-Team: Galician <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: gl\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Lokalize 0.2\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Multimedia"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Son e vídeo"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programación"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Ferramentas para o desenvolvemento de software"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Educación"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Xogos"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Xogos e pasatempos"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Gráficos"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Aplicativos gráficos"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Hardware"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Configuracións para varios dispositivos de hardware"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet e redes"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Configuracións relacionadas coa rede"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Aparencia"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Axustes que controlan a aparencia e o comportamento do escritorio"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programas para o acceso á Internet como a web e o correo electrónico"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Ofimática"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Aplicativos de oficina"
+
+#. Translators: this is Personal as in "Personal settings"
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal"
+msgstr "Persoal"
+
+#: ../desktop-directories/Personal.directory.in.h:3
+msgid "Personal settings"
+msgstr "Configuracións persoais"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Administración"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr ""
+"Cambiar as configuracións globais do sistema (afecta a todos os usuarios)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Preferencias persoais"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Preferencias"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Sistema"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Configuracións do sistema"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Ferramentas do sistema"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Configuración e monitorización do sistema"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Acceso universal"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Configuracións de acceso universal"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Accesorios"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Accesorios do escritorio"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Aplicativos"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Preferencias persoais e configuracións de administración"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Aplicativos que non se axustan a outras categorías"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Outras"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Editor do menú"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Editar os menús"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Aplicativos:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Predefinidos"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menús:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Editor sinxelo de menú %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Nome"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Mostrar"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Non foi posíbel encontrar o directorio persoal: non está estabelecido en /"
+"etc/passwd e non hai ningún valor para $HOME no contorno"
+
+#~ msgid "Menu file"
+#~ msgstr "Ficheiro de menú"
+
+#~ msgid "MENU_FILE"
+#~ msgstr "FICHEIRO_MENÚ"
+
+#~ msgid "Monitor for menu changes"
+#~ msgstr "Monitorizar os cambios no menú"
+
+#~ msgid "Include <Exclude>d entries"
+#~ msgstr "Incluír entradas <Exclude>"
+
+#~ msgid "Include NoDisplay=true entries"
+#~ msgstr "Incluír entradas NoDisplay=true"
+
+#~ msgid "Invalid desktop file ID"
+#~ msgstr "O ID do ficheiro de escritorio é incorrecto"
+
+#~ msgid "[Invalid Filename]"
+#~ msgstr "[Nome de ficheiro incorrecto]"
+
+#~ msgid " <excluded>"
+#~ msgstr " <excluded>"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "==== Menu changed, reloading ====\n"
+#~ "\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "==== Modificouse o menú; recargando ====\n"
+#~ "\n"
+#~ "\n"
+
+#~ msgid "Menu tree is empty"
+#~ msgstr "A árbore de menú está baleira"
+
+#~ msgid "- test MATE's implementation of the Desktop Menu Specification"
+#~ msgstr ""
+#~ "- probar a implementación da Especificación de menú de escritorio de MATE"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Preferencias relacionadas co acceso universal"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Preferencias e configuracións persoais"
diff --git a/po/gn.po b/po/gn.po
new file mode 100644
index 0000000..94b55f5
--- /dev/null
+++ b/po/gn.po
@@ -0,0 +1,218 @@
+# Brazilian Guarani translation of mate-menus.
+# Copyright (C) 2006 Free Software Foundation, Inc.
+# This file is distributed under the same license as the mate-menus package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2005-11-01 21:12+0100\n"
+"PO-Revision-Date: 2006-04-25 10:14-0300\n"
+"Last-Translator: Boca <[email protected]>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/Accessibility.directory.in.h:1
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:1
+msgid "Accessibility"
+msgstr "Omboparaa Regua"
+
+#: ../desktop-directories/Accessibility.directory.in.h:2
+msgid "Accessibility Settings"
+msgstr "Omboporaa Rerowa Rowaa"
+
+#: ../desktop-directories/Accessories.directory.in.h:1
+msgid "Accessories"
+msgstr "Nhamba'eapoa Pygua"
+
+#: ../desktop-directories/Accessories.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Nhamba'eapoa Regua"
+
+#: ../desktop-directories/Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Enhepynru Apy"
+
+#: ../desktop-directories/Desktop.directory.in.h:1
+msgid "Desktop"
+msgstr "Nhamba'eapoa"
+
+#: ../desktop-directories/Desktop.directory.in.h:2
+msgid "Personal preferences and administration settings"
+msgstr "Mba'emon Nhamoia"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Jaja Poa"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Jaja Poa"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Arandu"
+
+#: ../desktop-directories/Games.directory.in.h:1
+msgid "Games"
+msgstr "Jaugaa"
+
+#: ../desktop-directories/Games.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Jaugaty"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Baemo Ra'angaa Jajapoa"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Baemo Ra'angaa Jajapoa Oia"
+
+#: ../desktop-directories/Internet.directory.in.h:1
+msgid "Internet"
+msgstr "Kya"
+
+#: ../desktop-directories/Internet.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Kya Py Reike Awã Regua"
+
+#: ../desktop-directories/Multimedia.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Baemo Jaexaa, Nhaendua"
+
+#: ../desktop-directories/Multimedia.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Jaexaa, Porai Nhaendua"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Nhamboparaa Regua"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Jaekaa Omboparaa"
+
+#: ../desktop-directories/Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Amboae Regua Jaekaa"
+
+#: ../desktop-directories/Other.directory.in.h:2
+msgid "Other"
+msgstr "Amboae"
+
+#: ../desktop-directories/Preferences.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Rowapy Jarowa Rowaa"
+
+#: ../desktop-directories/Preferences.directory.in.h:2
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Maranmi Reipota"
+
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:2
+msgid "Accessibility related preferences"
+msgstr "Preferências relativas à acessibilidade"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences and settings"
+msgstr "Preferências e configurações pessoais"
+
+#: ../desktop-directories/System-Settings.directory.in.h:1
+msgid "Administration"
+msgstr "Nhambotea Regua"
+
+#: ../desktop-directories/System-Settings.directory.in.h:2
+msgid "Change systemwide settings (affects all users)"
+msgstr ""
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr ""
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr ""
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr ""
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr ""
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "_Enhepynru Apy:"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr ""
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "_Eka Apy:"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123
+msgid "Name"
+msgstr "Derery"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115
+msgid "Show"
+msgstr "Oexaukaa"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44
+msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment"
+msgstr ""
+
+#: ../util/test-menu-spec.c:32
+msgid "Menu file"
+msgstr "Oekaa Regua Omoin Porãa"
+
+#: ../util/test-menu-spec.c:32
+msgid "MENU_FILE"
+msgstr "OEKAA REGUA OMOIN PORÃA"
+
+#: ../util/test-menu-spec.c:33
+msgid "Monitor for menu changes"
+msgstr ""
+
+#: ../util/test-menu-spec.c:34
+msgid "Include <Exclude>d entries"
+msgstr ""
+
+#: ../util/test-menu-spec.c:89
+msgid "Invalid desktop file ID"
+msgstr ""
+
+#: ../util/test-menu-spec.c:90
+msgid "[Invalid Filename]"
+msgstr ""
+
+#: ../util/test-menu-spec.c:91
+msgid " <excluded>"
+msgstr ""
+
+#: ../util/test-menu-spec.c:162
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+
+#: ../util/test-menu-spec.c:167
+#: ../util/test-menu-spec.c:203
+msgid "Menu tree is empty"
+msgstr ""
+
+#: ../util/test-menu-spec.c:186
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr ""
+
diff --git a/po/gu.po b/po/gu.po
new file mode 100644
index 0000000..1df97ac
--- /dev/null
+++ b/po/gu.po
@@ -0,0 +1,270 @@
+# translation of mate-menus.master.gu.po to Gujarati
+# Ankit Patel <[email protected]>, 2007.
+# Ankit Patel <[email protected]>, 2007.
+# Sweta Kothari <[email protected]>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus.master.gu\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n"
+"POT-Creation-Date: 2009-07-19 07:40+0000\n"
+"PO-Revision-Date: 2009-08-24 15:37+0530\n"
+"Last-Translator: Sweta Kothari <[email protected]>\n"
+"Language-Team: Gujarati\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"\n"
+"\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "મલ્ટીમીડિયા મેનુ"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "સાઉન્ડ & વીડિયો"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "પ્રોગ્રામીંગ"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "સોફ્ટવેર વિકાસ સાધનો"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "શિક્ષણ"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "રમતો"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "રમતો અને મનોરંજકો"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "ગ્રાફિક્સ"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "ગ્રાફિક્સ કાર્યક્રમો"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "હાર્ડવેર"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "ઘણા હાર્ડવેર ઉપકરણો માટે સુયોજનો"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "ઈન્ટરનેટ અને નેટવર્ક"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "નેટવર્ક-સંબંધિત સુયોજનો"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "દેખાવ અને વર્તણૂક"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "ડેસ્કટોપ દેખાવ અને વર્તણૂક સંભાળી રહેલ સુયોજનો"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "ઈન્ટરનેટ"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "વેબ અને ઈમેઈલ જેવા ઈન્ટરનેટ વપરાશ માટેના કાર્યક્રમો"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "ઓફિસ"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "ઓફિસ કાર્યક્રમો"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "વ્યક્તિગત"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "વ્યક્તિગત સુયોજનો"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "સંચાલન"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "સિસ્ટમ-લગતા સુયોજનો બદલો (બધા વપરાશકર્તાઓને અસર કરશે)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "ખાનગી પસંદગીઓ"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "પસંદગીઓ"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "સિસ્ટમ"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "સિસ્ટમ સુયોજનો"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "સિસ્ટમ સાધનો"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "સિસ્ટમ રૂપરેખાંકન અને મોનિટરીંગ"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "સાર્વત્રિક વપરાશ"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "સાર્વત્રિક વપરાશ સુયોજનો"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "સહાયક કાર્યક્રમો"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "ડેસ્કટોપ સહાયક કાર્યક્રમો"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "કાર્યક્રમો"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "ખાનગી પસંદગીઓ અને સંચાલન સુયોજનો"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "કાર્યક્રમો કે જે અન્ય વર્ગોમાં નહિં બંધબેસે"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "અન્ય"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "મેનુ સંપાદક"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "ફેરફાર મેનુઓ"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "કાર્યક્રમો (_A):"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "મૂળભુતો (_D)"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "મેનુઓ (_M):"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+#| msgid "Menu Editor"
+msgid "Simple Menu Editor %s"
+msgstr "સાદુ મેનુ સંપાદક %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "નામ"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "બતાવો"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"ઘર ડિરેક્ટરી શોધી શકતા નથી: /etc/passwd માં સુયોજિત નથી અને પર્યાવરણમાં $HOME માટે "
+"કોઈ કિંમત નથી"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "મેનુ ફાઈલ"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "મેનુ ફેરફારો માટે મોનીટર"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "<Exclude>d પ્રવેશો સમાવો"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "NoDisplay=true પ્રવેશો સમાવો"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "ડેસ્કટોપ ફાઈલ ID અયોગ્ય છે"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[અયોગ્ય ફાઈલનામ]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== મેનુ બદલાઈ ગયેલ છે, પુનઃલોડ કરી રહ્યા છીએ ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "મેનુ વૃક્ષ ખાલી છે"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- ચકાસણી જીનોમના ડેસ્કટોપ મેનુ સ્પષ્ટીકરણોનું અમલીકરણ"
+
diff --git a/po/gv.po b/po/gv.po
new file mode 100644
index 0000000..d1f318e
--- /dev/null
+++ b/po/gv.po
@@ -0,0 +1,279 @@
+# Manx translation for mate-menus
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the mate-menus package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n"
+"POT-Creation-Date: 2010-07-02 11:40+0000\n"
+"PO-Revision-Date: 2010-07-07 13:02+0100\n"
+"Last-Translator: Reuben Potts <[email protected]>\n"
+"Language-Team: Manx <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2010-07-07 10:48+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr ""
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Sheean & feeshan"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr ""
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr ""
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Ynsagh"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Gammanyn"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Gammanyn as gaihyn"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Graafaghyn"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Claaghyn graafagh"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Yiarnrey"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr ""
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Eddyr-voggyl as toilley reddyn"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Reighyn son eddyrvoagle as toilley reddyn"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Jeaghyn as"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Reighyn mychoine yn aght ta'n Desktop jeaghyn as yn ymmyrkey."
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Eddyr-voggyl"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Claaghyn son yn eddyrvoagle gorrish email as yn eddyr-voggyl"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Oik"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Claaghyn Oik"
+
+#. Translators: this is Personal as in "Personal settings"
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal"
+msgstr "Persoonagh"
+
+#: ../desktop-directories/Personal.directory.in.h:3
+msgid "Personal settings"
+msgstr "Reighyn persoonagh"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Reirey"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr ""
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Reighyn Persoonagh ed"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Reighyn ed's"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "System"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Reighyn System"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Claaghyn system"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Caghlaaghyn System as"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr ""
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr ""
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Claaghyn"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr ""
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Claaghyn"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Reighyn persoonagh as Reighyn reirey"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Cha row yn claaghyn goll stiagh ayns"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Elley"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Caghlaaghyn Menu"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Caghlaa yn menu"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Claaghyn:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr ""
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menu:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Caghlaaredey menu aashagh %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Ennym"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Soilshaghey"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment"
+msgstr ""
+
+#~ msgid "Action"
+#~ msgstr "Caggeeaght"
+
+#~ msgid "Action games"
+#~ msgstr "Gammanyn caggeeaght"
+
+#~ msgid "Adventure"
+#~ msgstr "Contortys"
+
+#~ msgid "Adventure style games"
+#~ msgstr "Contortys gammanyn"
+
+#~ msgid "Arcade"
+#~ msgstr "Arcaid"
+
+#~ msgid "Arcade style games"
+#~ msgstr "Gammanyn Arcaid"
+
+#~ msgid "Falling blocks"
+#~ msgstr "Blockyn tuittym"
+
+#~ msgid "Board"
+#~ msgstr "Claare"
+
+#~ msgid "Board games"
+#~ msgstr "Gammanyn claare"
+
+#~ msgid "Card games"
+#~ msgstr "Gammanyn caart"
+
+#~ msgid "Cards"
+#~ msgstr "Caartyn"
+
+#~ msgid "Debian"
+#~ msgstr "Debian"
+
+#~ msgid "Science"
+#~ msgstr "Sheanse"
+
+#~ msgid "Scientific applications"
+#~ msgstr "Claaghyn sheanse"
+
+#~ msgid "Games for kids"
+#~ msgstr "Gammanyn son paitchyn"
+
+#~ msgid "Kids"
+#~ msgstr "Paitchyn"
+
+#~ msgid "Logic"
+#~ msgstr "Resoon"
+
+#~ msgid "Logic and puzzle games"
+#~ msgstr "Resoon as crampysyn"
+
+#~ msgid "Role playing"
+#~ msgstr "Cloie paart"
+
+#~ msgid "Role playing games"
+#~ msgstr "Gammanyn cloie paart"
+
+#~ msgid "Sports"
+#~ msgstr "Spoyrt"
+
+#~ msgid "Sports games"
+#~ msgstr "Gammanyn Spoyrt"
+
+#~ msgid "Strategy"
+#~ msgstr "Strateysh"
+
+#~ msgid "Strategy games"
+#~ msgstr "Gammanyn Strateysh"
diff --git a/po/ha.po b/po/ha.po
new file mode 100644
index 0000000..34b9485
--- /dev/null
+++ b/po/ha.po
@@ -0,0 +1,272 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus.mate-2-12\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-"
+"menus&component=general\n"
+"POT-Creation-Date: 2009-01-01 18:52+0000\n"
+"PO-Revision-Date: 2006-04-05 12:17+0100\n"
+"Last-Translator: \n"
+"Language-Team: <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Mazaɓen masilimanta"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Sauti & Bidiyo"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Yin Shirin Aiki"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Kayan aiki na ci-gaban masarrafin kwamfyuta"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Ilimi"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Wasanni"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Wasanni da kayan da da dariya"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Zane-Zane"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Shiryoyin ayukan zane-zane"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr ""
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr ""
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr ""
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr ""
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr ""
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr ""
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Intanet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Shiryoyi na samun hanyar Intanet zuwa wurare kamar yana da e-meli"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Ofis"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Shiryoyin Ayukan Ofis"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr ""
+
+#: ../desktop-directories/Personal.directory.in.h:2
+#, fuzzy
+msgid "Personal settings"
+msgstr "Fifiko da kewayen ka"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Hukuma"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+#, fuzzy
+msgid "Change system-wide settings (affects all users)"
+msgstr "Canza kayan daidaita na'ura (zai shafi duk masu amfani da shi)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Fifiko na Kanka"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Fifiko"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+#, fuzzy
+msgid "System"
+msgstr "Kayan Aikin Na'ura"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr ""
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Kayan Aikin Na'ura"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Canza tsari da kulawan na'ura"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr ""
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+#, fuzzy
+msgid "Universal Access Settings"
+msgstr "Kayan Daidaita Fasahan Mataimakin Naƙasan Mutum"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Aksesori"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Aksesori na Kwamfyutan Tebur"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Shiryoyin Ayuka"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Kayan daidaita fifkonka da hukumanka"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Shiryoyin Ayuka waɗanda basu dace cikin wasu jinsi ba"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Waccan"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Editar Mazaɓa"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "Mazaɓen Shiryawa"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "Shiryoyin Ayukan_:"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "Difwalt na_"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "Mazaɓen_:"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Suna"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Nuna"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Ana kasa gano gafakan gida: ba ya cikin/etc/makulli kuma babu kima wa $GIDA "
+"cikin muhalli"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Fayil ɗin mazaɓa"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "FAYIL ƊIN_MAZAƁA"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Ka kula wa canje-canjen mazaɓa"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Haɗa da <Fid da> bayanen da aka shigar"
+
+#: ../util/test-menu-spec.c:36
+#, fuzzy
+msgid "Include NoDisplay=true entries"
+msgstr "Haɗa da <Fid da> bayanen da aka shigar"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Shaidar fayil na kwamfyutan tebur mai maras inganci"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Sunafayil Mai Maras Inganci]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <fid da>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== An canza mazaɓa, ana sake lodi ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Babu komai cikin bishiyar mazaɓa"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr ""
+"- jarraba yanda MATE ke aiwatar da Cikakken Bayani na Mazaɓen Kwamfyutan "
+"Tebur"
+
+#~ msgid "Accessibility"
+#~ msgstr "Fasahan Mataimakin Naƙasan Mutum"
+
+#~ msgid "Accessibility related preferences"
+#~ msgstr "Fifiko da suka danganta da fasahan mataimaki naƙasan mutum"
+
+#~ msgid "Desktop"
+#~ msgstr "Kwamfyutan Tebur"
diff --git a/po/he.po b/po/he.po
new file mode 100644
index 0000000..36d7dfb
--- /dev/null
+++ b/po/he.po
@@ -0,0 +1,276 @@
+# translation of mate-menus.mate-2-10.po to Hebrew
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+# Yuval Tanny <[email protected]>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus.mate-2-10\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n"
+"POT-Creation-Date: 2009-06-21 17:35+0000\n"
+"PO-Revision-Date: 2009-07-04 22:37+0200\n"
+"Last-Translator: Yaron Shahrabani <[email protected]>\n"
+"Language-Team: <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "תפריט מולטימדיה"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "צליל ווידאו"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "תכנות"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "כלים לפיתוח תוכנה"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "לימוד"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "משחקים"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "משחקים ושעשועים"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "גרפיקה"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "יישומים גרפיים"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "חומרה"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "הגדרות עבור מספר התקני חומרה"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "אינטרט ורשת"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "הגדרות רשת"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "מראה ומרגש"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "הגדרות לשליטה במראה והתנהגות שולחן העבודה"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "אינטרנט"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "תוכנות לגישה לאינטרנט כגון דפדפן ולקוח דואר"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "משרד"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "יישומים משרדיים"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "אישי"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "הגדרות אישיות"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "ניהול"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "שנה הגדרות מערכת כלליות (משפיע על כל המשתמשים)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "העדפות אישיות"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "העדפות"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "מערכת"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "הגדרות מערכת"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "כלי מערכת"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "הגדרה וניטור של המערכת"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "גישה אוניברסלית"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "הגדרות גישה אוניברסלית"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "עזרים"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "עזרי שולחן עבודה"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "יישומים"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "העדפות אישיות והגדרות ניהול"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "יישומים שלא התאימו בקטגוריות אחרות"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "אחר"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "עורך תפריטים"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "ערוך תפריטים"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_יישומים:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_ברירות מחדל"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_תפריטים:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+#| msgid "Menu Editor"
+msgid "Simple Menu Editor %s"
+msgstr "עורך תפריטים פשוט %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "שם"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "הצג"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment"
+msgstr "לא ניתן למצוא את תיקיית הבית: לא נקבע ב- etc/passwd/ ולא קיים ערך עבור HOME$ בסביבה"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Menu file"
+
+# msgstr "קובץ תפריט"
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Monitor for menu changes"
+
+# msgstr "פקח על שינויים בתפריט"
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Include <Exclude>d entries"
+
+# msgstr "פקח על שינויים בתפריט"
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Include NoDisplay=true entries"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "מזהה קובץ שולחן עבודה לא תקין"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Invalid Filename]"
+
+# msgstr "[שם קובץ לא תקין]"
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+
+# "\n"
+# "\n"
+# "\n"
+# "==== התפריט השתנה, טוען מחדש ====\n"
+# "\n"
+# "\n"
+#: ../util/test-menu-spec.c:169
+#: ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Menu tree is empty"
+
+# msgstr "עץ התפריט ריק"
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- test MATE's implementation of the Desktop Menu Specification"
+
diff --git a/po/hi.po b/po/hi.po
new file mode 100644
index 0000000..391ffa4
--- /dev/null
+++ b/po/hi.po
@@ -0,0 +1,277 @@
+# translation of mate-menus.master.po to Hindi
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+#
+# Amanpreet Singh Alam <[email protected]>, 2004.
+# Rajesh Ranjan <[email protected]>, 2005, 2006, 2008, 2009.
+# Rajesh Ranjan <[email protected]>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus.master\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n"
+"POT-Creation-Date: 2009-06-21 17:35+0000\n"
+"PO-Revision-Date: 2009-09-16 13:46+0530\n"
+"Last-Translator: Rajesh Ranjan <[email protected]>\n"
+"Language-Team: Hindi <hindi.sf.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "मल्टीमीडिया मेनू"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "ध्वनि व वीडियो"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "प्रोग्रामिंग"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "सॉफ्टवेयर विकास के औज़ार"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "शिक्षा"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "खेल"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "खेल व मनोरंजन"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "चित्रादि"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "चित्रादि अनुप्रयोग"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "हार्डवेयर"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "कई हार्डवेयर युक्तियों के लिए सेटिंग"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "इंटरनेट व संजाल"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "संजाल संबंधित सेटिंग"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "रूप-रंग"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "डेस्कटॉप रूपाकार व व्यवहार का नियंत्रण करने वाले सेटिंग"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "इंटरनेट"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "इंटरनेट पहुँच के लिए वेब व ईमेल जैसे प्रोग्राम"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "कार्यालय"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "कार्यालय अनुप्रयोग"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "निजी"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "निजी सेटिंग"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "प्रशासन"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "तंत्र स्तरीय सेटिंग बदलें (सभी उपयोक्ता प्रभावित होते हैं)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "निजी वरीयता"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "वरीयता"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "तंत्र"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "तंत्र सेटिंग"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "तंत्र औज़ार"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "तंत्र विन्यास व निरीक्षण"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "सार्वभौमिक पहुँच"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "सार्वभौमिक पहुँच सेटिंग"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "उपसाधन"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "डेस्कटॉप उपसाधन"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "अनुप्रयोग"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "निजी वरीयता व प्रशासन सेटिंग"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "अनुप्रयोग जो अन्य श्रेणी में सटीक नहीं बैठा"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "अन्य"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "मेन्यू संपादक"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "मेन्यू संपादित करें"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "अनुप्रयोग (_A)"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "तयशुदा (_D)"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "मेन्यू (_M):"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+#| msgid "Menu Editor"
+msgid "Simple Menu Editor %s"
+msgstr "सरल मेन्यू संपादक %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "नाम"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "दिखाएँ"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"घर निर्देशिका नहीं पा सकता है: /etc/passwd में सेट नहीं है और $HOME के लिये वातावरण में "
+"कोई मान नहीं है"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "मेन्यू फ़ाइल"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "मेन्यू परिवर्तन के लिए मॉनिटर"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "<निकाली> गई प्रविष्टि शामिल करें"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "NoDisplay=true प्रविष्टि शामिल करें"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "अवैध डेस्कटॉप फ़ाइल आईडी"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[अवैध फ़ाइलनाम]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <निकाली गई>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== मेन्यू परिवर्तित, फिर लोड कर रहा है ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "मेन्यू तरू रिक्त है"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- डेस्कटॉप मेन्यू विनिर्दिष्टता के ग्नोम कार्यान्वयन की जाँच करें"
+
diff --git a/po/hr.po b/po/hr.po
new file mode 100644
index 0000000..62cc4df
--- /dev/null
+++ b/po/hr.po
@@ -0,0 +1,271 @@
+# Croatian translation for mate-menus
+# Copyright (c) (c) 2005 Canonical Ltd, and Rosetta Contributors 2005
+# This file is distributed under the same license as the mate-menus package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2005.
+# Translators: Krešo Kunjas <[email protected]>
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-08 12:08+0200\n"
+"PO-Revision-Date: 2007-08-05 11:44+0000\n"
+"Last-Translator: Krešo Kunjas <[email protected]>\n"
+"Language-Team: Croatian <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Launchpad-Export-Date: 2008-05-28 07:48+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Multimedijski izbornik"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Zvuk i video"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programiranje"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Alati za izradu softvera"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Edukacija"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Igre"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Igre i zabava"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafika"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Grafički programi"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Hardver"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Postavke za nekoliko hardverskih uređaja"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet i mreža"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Mrežne postavke"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Izgled"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Postavke za upravljanje izgledom i ponašanjem desktopa"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programi za pristup Internetu, poput weba ili elektroničke pošte"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Ured"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Uredski alati"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Osobno"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Osobne postavke"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Administracija"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Izmjeni postavke za cijeli sustav (utječe na sve korisnike)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Osobne postavke"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Postavke"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Sustav"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Postavke sustava"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Alati sustava"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Konfiguracija i nadgledanje sustava"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Univerzalni pristup"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Postavke univerzalnog pristupa"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Pomagala"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Pomagala radne površine"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Programi"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Osobne postavke i administracijske postavke"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Programi koji ne pristaju u druge kategorije"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Ostalo"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Uređivač izbornika"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "Uredite izbornike"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "_Programi:"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "_Uobičajeno"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "_Izbornici:"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Ime"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Prikaži"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Ne mogu pronaći osobni direktorij; nije naveden u /etc/passwd i ne postoji "
+"vrijednost $HOME u trenutnom okružju"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Datoteka izbornika"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Nadgledaj promjene izbornika"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Uključi <isključen>e stavke"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Uključi NoDisplay=true unose"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Krivi ID desktop datoteke"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Krivo ime datoteke]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <isključen>"
+
+#: ../util/test-menu-spec.c:164
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"= Izbornik promijenjen, osvježavam =\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Stablo izbornika je prazno"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr ""
+"- testiraj MATEovu implementaciju specifikacije za izbornike na radnoj "
+"površini"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Postavke vezane uz univerzalni pristup"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Osobne postavke i podešenja"
diff --git a/po/hu.po b/po/hu.po
new file mode 100644
index 0000000..a2c7b02
--- /dev/null
+++ b/po/hu.po
@@ -0,0 +1,268 @@
+# Hungarian translation of mate-menus.
+# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
+# This file is distributed under the same license as the mate-menus package.
+#
+# Gabor Kelemen <kelemeng at mate dot hu>, 2004, 2005, 2006, 2007, 2008, 2009.
+# Laszlo Dvornik <dvornik at mate dot hu>, 2005.
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus master\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-09-07 02:30+0200\n"
+"PO-Revision-Date: 2009-09-07 02:30+0200\n"
+"Last-Translator: Gabor Kelemen <kelemeng at mate dot hu>\n"
+"Language-Team: Hungarian <mate at fsf dot hu>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Multimédia menü"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Hang és videó"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Fejlesztés"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Szoftverfejlesztési eszközök"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Oktatás"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Játékok"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Játék és szórakozás"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafika"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Grafikai alkalmazások"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Hardver"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Különböző hardvereszközök beállításai"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet és hálózat"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Hálózattal kapcsolatos beállítások"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Megjelenés"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Az asztal megjelenését és viselkedését vezérlő beállítások"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programok az internet használatához (pl. web és e-mail)"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Iroda"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Irodai alkalmazások"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Személyes"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Személyes beállítások"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Adminisztráció"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Rendszerszintű beállítások módosítása (minden felhasználóra kihat)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Személyes beállítások"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Beállítások"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Rendszer"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Rendszerbeállítások"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Rendszereszközök"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Rendszerbeállítás és megfigyelés"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Akadálymentesítés"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Akadálymentesítés beállításai"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Kellékek"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Asztali kellékek"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Alkalmazások"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Személyes és adminisztrációs beállítások"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Más kategóriákba be nem sorolható alkalmazások"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Egyéb"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Menüszerkesztő"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Menük szerkesztése"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Alkalmazások:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "Ala_pértelmezések"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menük:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Egyszerű menüszerkesztő %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Név"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Megjelenítés"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Nem található a saját könyvtár: nincs beállítva az /etc/passwd fájlban és a "
+"$HOME környezeti változónak nincs értéke"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Menüfájl"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENÜ_FÁJL"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Menüváltozások figyelése"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "<Kihagyott> bejegyzések bevétele"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "A NoDisplay=true bejegyzések felvétele"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Érvénytelen desktop fájl azonosító"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Érvénytelen fájlnév]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <kihagyott>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== A menü megváltozott, újratöltés ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "A menüfa üres"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "– Az Asztali Menü Specifikáció MATE megvalósításának tesztelése"
diff --git a/po/hy.po b/po/hy.po
new file mode 100644
index 0000000..e8af56c
--- /dev/null
+++ b/po/hy.po
@@ -0,0 +1,266 @@
+# translation of mate-menus.HEAD.po to armenian
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER, 2005.
+# Ruzanna Khachatryan <[email protected]>
+# Norayr Chilingaryan <[email protected]>
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus.HEAD\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-01-30 20:21+0400\n"
+"PO-Revision-Date: 2009-01-30 20:22+0400\n"
+"Last-Translator: Norayr Chilingaryan <[email protected]>\n"
+"Language-Team: <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Համասփյուռ ծրագրերի ցանկ"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Ձայն և Վիդեո"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Ծրագրավորում"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Ծրագրերի մշակման գործիքներ"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Ուսուցում"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Խաղեր"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Խաղեր և զվարճություններ"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Գրաֆիկա"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Գրաֆիկական ծրագրեր"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Երկաթ"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Տարբեր սարքերի հատկություններ"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Ինտերնետ և Ցանց"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Ցանցային հատկություններ"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Տեսք"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Աշխատասեղանի տեսքի և վարքի հատկություններ"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Համացանց"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Համացանցում աշխատելու ծրագրեր, ինչպես վեպ զննիչը"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Օֆիս"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Օֆիսային Ծրագրեր"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Անձնական"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Հատկություններ"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Կառավարում"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+#, fuzzy
+msgid "Change system-wide settings (affects all users)"
+msgstr "Փոխել ամբողջ համակարգի նախընտրանքները (վերաբերում է բոլոր գործարկողներին)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Անհատական նախընտրանքներ"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Հատկություններ"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Համակարգ"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Համակարգի հատկություններ"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Համակարգի գործիքներ"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Համակարգի կարգավորում և վերահսկում"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Ընդհանուր Մատչելիություն"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Հնարավորությունների կարգավորումներ"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Աքսեսուարներ"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Աշխատասեղանի աքսեսուարներ"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Ծրագրեր"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Անհատական և կառավարման կարգավորումներ"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Ծրագրեր, որոնք այլ կատեգորիաներին չեն համապատասխանում"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Այլ"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Ցանկի Խմբագրիչ"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "Ցանկերի խմբագրում"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "Ծրագրեր"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "Նախնական"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "Ցանկ"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Անուն"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Ցուցադրում"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment"
+msgstr "Չի հաջողվել գտնել տան ապանակը։ այն նշված չէ /etc/passwd ֆայլի մեջ և $HOME միջավայրի փոփոխականը չի պարունակում ոչ մի արժեք"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Ցանկի ֆայլ"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "ՑԱՆԿԻ―ՖԱՅԼ"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Ցանկի փոփոխությունները"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Ընդգրկել <բացառված> միավորները"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Ընդգրկել NoDisplay=true միավորները"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Սխալ ֆայլի ID"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Սխալ ֆայլանուն]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr "<բացառված>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Ցանկը փոխցած է, վերաբեռնում ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169
+#: ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Ցանկը դատարկ է"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr " - ստուգեք ԳՆՈՄ-ի Աշխատասեղանի Ցանկի Բնորոշման իրագործումը"
+
+#~ msgid "Accessibility"
+#~ msgstr "Հնարավորություններ"
+#~ msgid "Desktop"
+#~ msgstr "Աշխատասեղան"
+#~ msgid "Accessibility related preferences"
+#~ msgstr "Ծրագրերին առնչվող պարամետրեր"
+
diff --git a/po/id.po b/po/id.po
new file mode 100644
index 0000000..fef0377
--- /dev/null
+++ b/po/id.po
@@ -0,0 +1,217 @@
+# translation of mate-menus.master.id.po to MATE Indonesian Translation Team
+# Indonesian translation of mate-menus.
+# Copyright (C) 2005 THE mate-menus's COPYRIGHT HOLDER
+# This file is distributed under the same license as the mate-menus package.
+#
+#
+# ahmad riza h nst <[email protected]>, 2005.
+# Dirgita <[email protected]>, 2010.
+# Dirgita <[email protected]>, 2010.
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus.master.id\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-"
+"menus&component=general\n"
+"POT-Creation-Date: 2010-07-20 10:11+0000\n"
+"PO-Revision-Date: 2010-05-24 10:37+0700\n"
+"Last-Translator: Dirgita <[email protected]>\n"
+"Language-Team: MATE Indonesian Translation Team <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Menu multimedia"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Suara & Video"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Pemrograman"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Perkakas untuk pengembangan perangkat lunak"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Pendidikan"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Permainan"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Permainan dan hiburan"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafik"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Aplikasi grafik"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Perangkat Keras"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Pengaturan untuk sejumlah perangkat keras"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet dan Jaringan"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Pengaturan jaringan"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Tampilan dan Rasa"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Mengelola tampilan dan perilaku desktop"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Program untuk mengakses internet, seperti web dan surel"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Perkantoran"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Aplikasi Perkantoran"
+
+#. Translators: this is Personal as in "Personal settings"
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal"
+msgstr "Pribadi"
+
+#: ../desktop-directories/Personal.directory.in.h:3
+msgid "Personal settings"
+msgstr "Pengaturan pribadi"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Administrasi"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Pengaturan sistem secara luas (mempengaruhi seluruh pengguna)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Preferensi pribadi"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Preferensi"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Sistem"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Pengaturan sistem"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Perkakas Sistem"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Konfigurasi serta pengawasan sistem"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Akses Universal"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Pengaturan Akses Universal"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Aksesoris"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Aksesoris desktop"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Aplikasi"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Preferensi pribadi dan pengaturan administrasi"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Aplikasi yang tidak termasuk dalam kategori manapun"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Lainnya"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Penyunting Menu"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Sunting Menu"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Aplikasi:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Baku"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menu:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Penyunting Menu Sederhana %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Nama"
+
+# Ini tombol ceklis untuk memilih menu-menu apa saja yang tampak dalam daftar menu utama.
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Tampak"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Tidak menemukan direktori rumah: tidak tercantum di /etc/passwd maupun pada "
+"variabel lingkungan $HOME"
diff --git a/po/ig.po b/po/ig.po
new file mode 100644
index 0000000..07e0f93
--- /dev/null
+++ b/po/ig.po
@@ -0,0 +1,270 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus.mate-2-12\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-"
+"menus&component=general\n"
+"POT-Creation-Date: 2009-01-01 18:52+0000\n"
+"PO-Revision-Date: 2006-04-05 12:38+0100\n"
+"Last-Translator: translator\n"
+"Language-Team: <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Mọltimidia menu"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Ụda na Vidio"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programịn"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Ngwaọrụ maka ntolite Sọftwịa"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Ọmụmụ"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Egwuregwu"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Egwuregwu na obiụtọ"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Nsepụtainyogo"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Usoro iheomume nsepụtainyogo"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr ""
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr ""
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr ""
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr ""
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr ""
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr ""
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Ịntaneetị"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Program maka ikikembanye ịntaneetị dịka web na Imeelụ"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Ụlọọrụ"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Usoro iheomume ụlọọrụ"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr ""
+
+#: ../desktop-directories/Personal.directory.in.h:2
+#, fuzzy
+msgid "Personal settings"
+msgstr "Nkarachọ nkeonwe na nhazi"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Nhazi "
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+#, fuzzy
+msgid "Change system-wide settings (affects all users)"
+msgstr "Gbanwee nhazi systemwide (na-emetụta ndị ojieme)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Nkarachọ nkeonwe"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Nkarachọ"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+#, fuzzy
+msgid "System"
+msgstr "Ngwaọrụ sistem"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr ""
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Ngwaọrụ sistem"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Nhazi na ilereanya nke sistem"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr ""
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+#, fuzzy
+msgid "Universal Access Settings"
+msgstr "Nhazi ikikembanye"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Nnyemaka ngwaọrụ"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Nnyemaka ngwaọrụ Desktọọpụ"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Usoro ihe omume"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Nkarachọ nkeonwe na ọdịdị Nhazi "
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Usoro iheomume na-abanyeghị n'ọ́nụ́ ndị ọzọ"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Ọzọ"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Odezi menu"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "Dezie menu"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "_Usoro iheomume:"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "_Difọọltụ"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "_Menus"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Aha"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Gosi"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Achọtaghịnwu ihenlereanya keụlọ: Ekpokọtaghị ya na /dgz/okwumbanye na nke na-"
+"abaghị uru maka ụlọ $HOME"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Faịlụ menu"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FAỊLỤ"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Inyogo maka mgbanwe menu"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Gbakwunye <Exclude>mbanye ahụ"
+
+#: ../util/test-menu-spec.c:36
+#, fuzzy
+msgid "Include NoDisplay=true entries"
+msgstr "Gbakwunye <Exclude>mbanye ahụ"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Desktọọpụ Faịlụ ID na-enweghị isi"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Ahịrịnkọwa faịlụ na-enweghị isi]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr "<excluded>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"====ọtụtụ gbanwere, bubatagharịa ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Osisi Menu ghe oghe"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- Nnwale MATE Nwepụta nke Desktọọpụ nzipụta menu"
+
+#~ msgid "Accessibility"
+#~ msgstr "Ikikembanye"
+
+#~ msgid "Accessibility related preferences"
+#~ msgstr "Ikikembanye yiwere nkarachọ"
+
+#~ msgid "Desktop"
+#~ msgstr "Desktọọpụ"
diff --git a/po/io.po b/po/io.po
new file mode 100644
index 0000000..9d9e023
--- /dev/null
+++ b/po/io.po
@@ -0,0 +1,267 @@
+# Ido translation of mate-menus.
+# Copyright (C) 2007 Free Software Foundation, Inc.
+# This file is distributed under the same license as the mate-menus package.
+# Michael Terry <[email protected]>, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus HEAD\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-12-27 17:48-0500\n"
+"PO-Revision-Date: 2008-01-16 21:27-0500\n"
+"Last-Translator: Michael Terry <[email protected]>\n"
+"Language-Team: Ido <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/Accessibility.directory.in.h:1
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Universala Aceso"
+
+#: ../desktop-directories/Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Situesi pri Universala Aceso"
+
+#: ../desktop-directories/Accessories.directory.in.h:1
+msgid "Accessories"
+msgstr "Acesori"
+
+#: ../desktop-directories/Accessories.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Pupitrosuprala acesori"
+
+#: ../desktop-directories/Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Programi"
+
+#: ../desktop-directories/Desktop.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Personala preferi ed situesi pri administrado"
+
+#: ../desktop-directories/Desktop.directory.in.h:2
+#: ../desktop-directories/System.directory.in.h:1
+msgid "System"
+msgstr "Sistemo"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programado"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr ""
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Edukado"
+
+#: ../desktop-directories/Games.directory.in.h:1
+msgid "Games"
+msgstr "Ludi"
+
+#: ../desktop-directories/Games.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Ludi ed amuzi"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafikarti"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Programi pri grafikarti"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Metalajaro"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr ""
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Interreto e Reto"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Retala setuesi"
+
+#: ../desktop-directories/Internet.directory.in.h:1
+msgid "Internet"
+msgstr "Interreto"
+
+#: ../desktop-directories/Internet.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr ""
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Aspekto e Sento"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr ""
+
+#: ../desktop-directories/Multimedia.directory.in.h:1
+msgid "Multimedia menu"
+msgstr ""
+
+#: ../desktop-directories/Multimedia.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Sono ed Video"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Kontoro"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Kontorala Programi"
+
+#: ../desktop-directories/Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr ""
+
+#: ../desktop-directories/Other.directory.in.h:2
+msgid "Other"
+msgstr "Altra"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Personala"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Personala situesi"
+
+#: ../desktop-directories/Preferences.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Personala preferi"
+
+#: ../desktop-directories/Preferences.directory.in.h:2
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Preferi"
+
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:2
+msgid "Universal access related preferences"
+msgstr "Preferi pri universala aceso"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences and settings"
+msgstr "Personala preferi e situesi"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Sistemala situesi"
+
+#: ../desktop-directories/System-Settings.directory.in.h:1
+msgid "Administration"
+msgstr "Administrado"
+
+#: ../desktop-directories/System-Settings.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr ""
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Sistemala Utensili"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr ""
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Menuala Editilo"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "Editez Menui"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "_Programi:"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr ""
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "_Menui:"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123
+msgid "Name"
+msgstr "Nomo"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115
+msgid "Show"
+msgstr "Montrez"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44
+msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment"
+msgstr ""
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Menuala dokumento"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENUALA_DOKUMENTO"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr ""
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr ""
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr ""
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Nevalida ID di pupitrosuprala dokumentala"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Nevalida Dokumentnomo]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr "<excluzesa>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Menuo chanjis, richarjas ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169
+#: ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Menuala arboro esas vakua"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr ""
+
diff --git a/po/is.po b/po/is.po
new file mode 100644
index 0000000..7e718e3
--- /dev/null
+++ b/po/is.po
@@ -0,0 +1,268 @@
+# Icelandic translation of Mate.
+# Icelandic translation of mate-menus.
+# Copyright (C) 2008 Free Software Foundation, Inc.
+# Anna Jonna Ármannsdóttir <[email protected]>, 2008.
+# Sveinn í Felli <[email protected]>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-"
+"menus&component=general\n"
+"POT-Creation-Date: 2009-09-29 14:04+0000\n"
+"PO-Revision-Date: 2008-05-14 01:40+0000\n"
+"Last-Translator: Sveinn í Felli <[email protected]>\n"
+"Language-Team: Icelandic\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Margmiðlun"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Hljóð og mynd"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Forritun"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Þróunarverkfæri"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Menntun"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Leikir"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Leikir og skemmtun"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Myndefni"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Myndefnisforrit"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Vélbúnaður"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Uppsetning á ýmsum vélbúnaði"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet og netkerfi"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Netkerfistengdar stillingar"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Útlit og viðmót"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Stillingar sem stjórna útliti og hegðun skjáborðsins"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Forrit til að nálgast netið eins og vefinn og tölvupóst"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Skrifstofa"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Skrifstofuforrit"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Persónulegt"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Persónulegar stillingar"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Stjórnun"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Breyta stillingum fyrir allt kerfið (hefur áhrif á alla notendur)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Persónulegir valmöguleikar"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Stillingar"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Kerfið"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Kerfisstillingar"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Kerfistól"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Kerfisstillingar og vöktun"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Altækur aðgangur"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Stillingar fyrir altækan aðgang"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Aukahlutir"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Aukahlutir fyrir skjáborð"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Forrit"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Persónulegir valmöguleikar og stjórnunar stillingar"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Forrit sem passa ekki í aðra flokka"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Annað"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Valmyndaritill"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Breyta valmyndum"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Forrit:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Sjálfgefið"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Valmyndir:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Einfaldur valmyndaritill %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Nafn"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Sýna"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Gat ekki fundið heimamöppu: er ekki stillt í /etc/passwd og ekkert gildi "
+"fyrir $HOME í víðværum breytum"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Valmyndaskrá"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "VALMYNDAR_SKRÁ"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Fylgjast með breytingum í valmynd"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Taka <útilokað>ar færslur með"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Taka NoDisplay=true færslur með"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Kenni skjáborðsskrár er ógilt"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Ógilt skráarnafn]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <útilokað>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Valmynd breytt, endurhleð ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Valmyndatréð er tómt"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- prófa útfærslu MATE á Desktop Menu Specification"
diff --git a/po/it.po b/po/it.po
new file mode 100644
index 0000000..1728843
--- /dev/null
+++ b/po/it.po
@@ -0,0 +1,267 @@
+# Italian translation of mate-menus.
+# Copyright (C) 2005, 2006, 2007, 2008, 2009 The Free Software Foundation, Inc.
+# This file is distributed under the same license as the mate-menus package.
+# Francesco Marletta <francesco.marletta @ tiscali.it>, 2005, 206, 2007, 2008, 2009.
+# Luca Ferretti <[email protected]>, 2009
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus 2.28\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n"
+"POT-Creation-Date: 2009-08-26 07:31+0000\n"
+"PO-Revision-Date: 2009-09-18 15:06+0200\n"
+"Last-Translator: Luca Ferretti <[email protected]>\n"
+"Language-Team: Italian <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Menù multimedia"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Audio e video"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programmazione"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Strumenti per lo sviluppo software"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Istruzione"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Giochi"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Giochi e passatempi"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafica"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Applicazioni grafiche"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Hardware"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Impostazioni per parecchi dispositivi hardware"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet e rete"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Impostazioni relative alla rete"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Aspetto e stile"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Impostazioni che controllano l'aspetto e il comportamento del desktop"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programmi per l'accesso a Internet come web ed email"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Ufficio"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Applicazioni da ufficio"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Personale"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Impostazioni personali"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Amministrazione"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Modifica impostazioni di sistema (influenzano tutti gli utenti)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Preferenze personali"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Preferenze"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Sistema"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Impostazioni di sistema"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Strumenti di sistema"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Configurazione e monitoraggio del sistema"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Accesso universale"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Impostazioni accesso universale"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Accessori"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Accessori del desktop"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Applicazioni"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Preferenze personali e impostazioni di amministrazione"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Applicazioni che non rientrano in altre categorie"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Altro"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Editor del menù"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Modifica i menù"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Applicazioni:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "Pre_definite"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menù:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+#| msgid "Menu Editor"
+msgid "Simple Menu Editor %s"
+msgstr "Editor dei menù semplice %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Nome"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Mostra"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Impossibile trovare la directory home: non è impostata in /etc/passwd e la "
+"variabile d'ambiente $HOME non ha alcun valore"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "File di menù"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "FILE_MENU"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Monitora i cambiamenti dei menù"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Includere le voci <Exclude>"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Includere le voci NoDisplay=true"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "ID di file desktop non valido"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Nome di file non valido]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Menù cambiato, ricarica in corso ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "L'albero dei menù è vuoto"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr ""
+"- test dell'implementazione di MATE della specifica per i menù del desktop"
diff --git a/po/ja.po b/po/ja.po
new file mode 100644
index 0000000..51fccd6
--- /dev/null
+++ b/po/ja.po
@@ -0,0 +1,263 @@
+# ja.po for mate-menus.
+# Copyright (C) 2004-2007,2009-2010 THE mate-menus' COPYRIGHT HOLDER
+# This file is distributed under the same license as the mate-menus package.
+# Satoru SATOH <[email protected]>, 2004.
+# Takeshi AIHANA <[email protected]>, 2005-2007.
+# Takayuki KUSANO <[email protected]>, 2009-2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus master\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-"
+"menus&component=general\n"
+"POT-Creation-Date: 2010-09-18 18:45+0000\n"
+"PO-Revision-Date: 2009-09-08 22:13+0900\n"
+"Last-Translator: Takayuki KUSANO <[email protected]>\n"
+"Language-Team: Japanese <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "マルチメディア関連のプログラムです"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "サウンドとビデオ"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "プログラミング"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "ソフトウェア開発者向けのツールです"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "教育・教養"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "ゲーム"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "気晴しにゲームをどうぞ"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "グラフィックス"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "グラフィックス関連のアプリケーションです"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "ハードウェア"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "使用するハードウェア・デバイスを設定します"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "インターネットとネットワーク"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "ネットワークに関連する設定を行います"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "ルック&フィール"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "デスクトップの外観や動きを調整します"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "インターネット"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "ウェブやメールなどインターネットにアクセスのためのプログラムです"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "オフィス"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "オフィス・アプリケーションです"
+
+#. Translators: this is Personal as in "Personal settings"
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal"
+msgstr "ユーザ向け"
+
+#: ../desktop-directories/Personal.directory.in.h:3
+msgid "Personal settings"
+msgstr "ユーザ向けの設定を変更します"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "システム管理"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "システム規模の設定を変更します (すべてのユーザに影響します)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "ユーザ専用の設定"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "設定"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "システム"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "システム規模の設定を変更します"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "システムツール"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "システムの設定と監視を行うプログラムです"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "ユニバーサル・アクセス"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "ユニバーサル・アクセスの設定を変更します"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "アクセサリ"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "デスクトップ用のアクセサリーです"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "アプリケーション"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "個人設定と管理者向けの設定ツールです"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "他のカテゴリにあてはまらないアプリケーション"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "その他"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "メニュー・エディタ"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "メニューの編集"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "アプリケーション(_A):"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "デフォルト(_D)"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "メニュー(_M):"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "シンプル・メニュー・エディタ %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "名前"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "表示"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"ホーム・フォルダが見つかりません: \"/etc/passwd\" に記述されていないか、環境"
+"変数 $HOME の値が空です。"
+
+#~ msgid "Menu file"
+#~ msgstr "メニュー・ファイル"
+
+#~ msgid "MENU_FILE"
+#~ msgstr "MENU_FILE"
+
+#~ msgid "Monitor for menu changes"
+#~ msgstr "メニューの変更を監視する"
+
+#~ msgid "Include <Exclude>d entries"
+#~ msgstr "<Exclude> のエントリを含める"
+
+#~ msgid "Include NoDisplay=true entries"
+#~ msgstr "NoDisplay=true のエントリを含める"
+
+#~ msgid "Invalid desktop file ID"
+#~ msgstr ".desktop ファイルの ID が間違っています"
+
+#~ msgid "[Invalid Filename]"
+#~ msgstr "[ファイル名が間違っています]"
+
+#~ msgid " <excluded>"
+#~ msgstr " <excluded>"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "==== Menu changed, reloading ====\n"
+#~ "\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "==== メニューが変更されました (再読み込み中...) ====\n"
+#~ "\n"
+#~ "\n"
+
+#~ msgid "Menu tree is empty"
+#~ msgstr "メニューのツリーが空です"
+
+#~ msgid "- test MATE's implementation of the Desktop Menu Specification"
+#~ msgstr "- MATE のデスクトップ・メニューの実装をテストします"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "ユニバーサル・アクセスに関連する設定を変更します"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "ユーザ向けの設定を変更します"
diff --git a/po/ka.po b/po/ka.po
new file mode 100644
index 0000000..03eec73
--- /dev/null
+++ b/po/ka.po
@@ -0,0 +1,238 @@
+# Georgian translation for mate-menus
+# Copyright (c) (c) 2005 Canonical Ltd, and Rosetta Contributors 2005
+# This file is distributed under the same license as the mate-menus package.
+# <>, 2005.
+# , fuzzy
+# <>, 2006.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-02-09 23:56+0100\n"
+"PO-Revision-Date: 2006-03-16 19:00+0100\n"
+"Last-Translator: Vladimer Sichinava <[email protected]>\n"
+"Language-Team: Georgian <http://geoubuntu.cjb.net/>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit"
+
+#: ../desktop-directories/Accessibility.directory.in.h:1
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:1
+msgid "Accessibility"
+msgstr "დამხმარე საშუალებები"
+
+#: ../desktop-directories/Accessibility.directory.in.h:2
+msgid "Accessibility Settings"
+msgstr "დამხმარე საშუალებათა პარამეტრები"
+
+#: ../desktop-directories/Accessories.directory.in.h:1
+msgid "Accessories"
+msgstr "აქსესუარები"
+
+#: ../desktop-directories/Accessories.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "სამუშაო მაგიდის აქსესუარები"
+
+#: ../desktop-directories/Applications.directory.in.h:1
+msgid "Applications"
+msgstr "პროგრამები"
+
+#: ../desktop-directories/Desktop.directory.in.h:1
+msgid "Desktop"
+msgstr "სამუშაო მაგიდა"
+
+#: ../desktop-directories/Desktop.directory.in.h:2
+msgid "Personal preferences and administration settings"
+msgstr "საკუთარი პარამეტრები და ადმინისტრაცია"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "პროგრამირება"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "პროგრამირების ხელსაწყოები"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "განათლება"
+
+#: ../desktop-directories/Games.directory.in.h:1
+msgid "Games"
+msgstr "თამაშები"
+
+#: ../desktop-directories/Games.directory.in.h:2
+msgid "Games and amusements"
+msgstr "თამაშები და სხვა"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "გრაფიკა"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "გრაფიკული პროგრამები"
+
+#: ../desktop-directories/Internet.directory.in.h:1
+msgid "Internet"
+msgstr "ინტერნეტი"
+
+#: ../desktop-directories/Internet.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "პროგრამები ინტერნეტისათვის, ვები და მეილი"
+
+#: ../desktop-directories/Multimedia.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "მულტიმედიის მენუ"
+
+#: ../desktop-directories/Multimedia.directory.in.h:2
+msgid "Sound & Video"
+msgstr "ხმა და ვიდეო"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "ოფისი"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "საოფისე პროგრამები"
+
+#: ../desktop-directories/Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "პროგრამები რომლებიც არც ერთ კატეგორიაში არ შედიან"
+
+#: ../desktop-directories/Other.directory.in.h:2
+msgid "Other"
+msgstr "სხვა"
+
+#: ../desktop-directories/Preferences.directory.in.h:1
+msgid "Personal preferences"
+msgstr "პერსონალური პარამეტრები"
+
+#: ../desktop-directories/Preferences.directory.in.h:2
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "პარამეტრები"
+
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:2
+msgid "Accessibility related preferences"
+msgstr "სპეც შესაძლებლობების პარამეტრები"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences and settings"
+msgstr "პერსონალური პარამეტრები"
+
+#: ../desktop-directories/System-Settings.directory.in.h:1
+msgid "Administration"
+msgstr "ადმინისტრაცია"
+
+#: ../desktop-directories/System-Settings.directory.in.h:2
+msgid "Change systemwide settings (affects all users)"
+msgstr "გლობალური სისტემური ცვლილებები (ვრცელდება ყველა მომხმარებელზე)"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "სისტემური ხელსაწყოები"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "სისტემის კონფიგურაცია და მონიტორინგი"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "მენუს ედიტორი"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "მენუს დამუშავება"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "_პროგრამები:"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "_ნაგულისხმევი პარამეტრები"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "_მენუ"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123
+msgid "Name"
+msgstr "სახელი"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115
+msgid "Show"
+msgstr "ანახე"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr "ვერ ვპოულობ სახლის დირექტორიას: არ იქნება დაყენებული /etc/passwd-ში"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "მენუ ფაილი"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "მენუში ცვლილებათა მონიტორინგი"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "<ჩაუმატებელი> ელემენტების ჩამატება"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "ჩართე NoDisplay=true ელემენტები"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "არასწორი ID დესკტოპ ფაილისა"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[მცდარი ფაილსახელი]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"↵\n"
+"↵\n"
+"↵\n"
+"==== მენუ შეიცვალა, გადათვირთვა ====↵\n"
+"↵\n"
+"↵\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "მენუს ხე ცარიელია"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "-·test·MATE's·implementation·of·the·Desktop·Menu·Specification"
+
diff --git a/po/kk.po b/po/kk.po
new file mode 100644
index 0000000..9f07a3d
--- /dev/null
+++ b/po/kk.po
@@ -0,0 +1,255 @@
+# translation of mate-menus to Kazakh
+# Copyright (C) 2008 Free Software Foundation, Inc.
+#
+# Moldabekov Margulan <[email protected]>, 2008
+# Erzhan Shaniev <[email protected]>, 2008
+# Baurzhan Muftakhidinov <[email protected]>, 2010
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus trunk\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n"
+"POT-Creation-Date: 2010-07-02 11:40+0000\n"
+"PO-Revision-Date: 2010-09-15 12:55+0600\n"
+"Last-Translator: Baurzhan Muftakhidinov <[email protected]>\n"
+"Language-Team: Kazakh <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0\n"
+"X-Poedit-Language: Kazakh\n"
+"X-Poedit-Country: KAZAKHSTAN\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Мультимедиа"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Аудио және видео"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Бағдарламалау"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Бағдарламалауға арналған құралдар"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Оқыту"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Ойындар"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Ойын-сауық"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Графика"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Графикалық қолданбалар"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Құрылғылар"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Құрылғылардың баптаулары"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Интернет пен желі"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Желілік баптаулар"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Сыртқы түрі"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Жұмыс үстелін көркейтетін баптаулар"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Интернет"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Интернетті қолдануға арналған бағдарламалар (пошта, браузер, т.б.)"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Кеңселік"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Кеңселік қолданбалар"
+
+#. Translators: this is Personal as in "Personal settings"
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal"
+msgstr "Жеке"
+
+#: ../desktop-directories/Personal.directory.in.h:3
+msgid "Personal settings"
+msgstr "Жеке баптаулар"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Әкімшілік"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Жүйелік баптауларды өзгерту (барлық пайдаланушылар үшін)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Жеке баптаулар"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Баптаулар"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Жүйелік"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Жүйелік баптаулар"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Жүйелік саймандар"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Жүйені баптау мен бақылау"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Арнайы мүмкіндіктер"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Арнайы мүмкіндіктер баптаулары"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Қалыпты"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Қалыпты қолданбалар"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Қолданбалар"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Жеке мен әкімшілік баптаулар"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Ешқандай санатқа жатпайтын қолданбалар"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Басқалар"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Мәзір түзетушісі"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Мәзірді түзету"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "Қ_олданбалар:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Бастапқы қалпы"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Мәзірлер:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+#| msgid "Menu Editor"
+msgid "Simple Menu Editor %s"
+msgstr "Қарапайым мәзір түзетушісі %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Аты"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Көрсету"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment"
+msgstr "Үй бумасы табылмады: /etc/passwd ішінде жоқ және $HOME айнымалысы орнатылмаған"
+
+#~ msgid "Menu file"
+#~ msgstr "Мәзір файлы"
+
+#~ msgid "MENU_FILE"
+#~ msgstr "МӘЗІР_ФАЙЛЫ"
+
+#~ msgid "Monitor for menu changes"
+#~ msgstr "Мәзірде болған өзгерістерді бақылау"
+
+#~ msgid "Include <Exclude>d entries"
+#~ msgstr "Шығарылған элементтерді іске келтіру"
+
+#~ msgid "Include NoDisplay=true entries"
+#~ msgstr "NoDisplay=true элементтерін іске келтіру"
+
+#~ msgid "Invalid desktop file ID"
+#~ msgstr "Desktop-файлдың ID-і қате"
+
+#~ msgid "[Invalid Filename]"
+#~ msgstr "[файлдың аты дұрыс емес]"
+
+#~ msgid " <excluded>"
+#~ msgstr " <excluded>"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "==== Menu changed, reloading ====\n"
+#~ "\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "==== Мәзір өзгертілді, жаңадан қосылуда ====\n"
+#~ "\n"
+#~ "\n"
+
+#~ msgid "Menu tree is empty"
+#~ msgstr "Мәзір ағашы бос"
+
+#~ msgid "- test MATE's implementation of the Desktop Menu Specification"
+#~ msgstr "- MATE-да қолданылған Desktop Menu-дің тексерісі"
diff --git a/po/kn.po b/po/kn.po
new file mode 100644
index 0000000..00c3749
--- /dev/null
+++ b/po/kn.po
@@ -0,0 +1,256 @@
+# translation of mate-menus.master.kn.po to Kannada
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Shankar Prasad <[email protected]>, 2007, 2008, 2009, 2010.
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus.master.kn\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-04-21 11:48+0530\n"
+"PO-Revision-Date: 2010-03-24 17:49+0530\n"
+"Last-Translator: Shankar Prasad <[email protected]>\n"
+"Language-Team: kn-IN <>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "ಮಲ್ಟಿಮೀಡಿಯಾ ಅಂಶಪಟ್ಟಿ"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "ಧ್ವನಿ ಹಾಗು ದೃಶ್ಯ"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "ಪ್ರೊಗ್ರಾಮಿಂಗ್"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "ತಂತ್ರಾಂಶ ವಿಕಸನೆಗಾಗಿನ ಉಪಕರಣಗಳು"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "ಶಿಕ್ಷಣ"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "ಆಟಗಳು"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "ಆಟಗಳು ಹಾಗು ರಂಜನೆಗಳು"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "ಗ್ರಾಫಿಕ್ಸ್"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "ಗ್ರಾಫಿಕ್ಸ್ ಅನ್ವಯಗಳು"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "ಯಂತ್ರಾಂಶ"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "ಹಲವಾರು ಯಂತ್ರಾಂಶ ಸಾಧನಗಳಿಗಾಗಿನ ಸಿದ್ಧತೆಗಳು"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "ಅಂತರಜಾಲ ಹಾಗು ಜಾಲಬಂಧ"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "ಜಾಲಬಂಧ-ಸಂಬಂಧಿತ ಸಿದ್ಧತೆಗಳು"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "ನೋಟ ಹಾಗು ಮಾಟ"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "ಗಣಕತೆರೆಯ ಸ್ವರೂಪ ಹಾಗು ವರ್ತನೆಯನ್ನು ನಿಯಂತ್ರಿಸುವ ಸಿದ್ಧತೆಗಳು"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "ಅಂತರಜಾಲ"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "ಜಾಲ ಹಾಗು ಇಮೈಲಿನಂತಹ ಅಂತರಜಾಲವನ್ನು ನಿಲುಕಿಸಿಕೊಳ್ಳುವ ಪ್ರೊಗ್ರಾಂಗಳು"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "ಆಫೀಸ್"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "ಆಫೀಸ್ ಅನ್ವಯಗಳು"
+
+#. Translators: this is Personal as in "Personal settings"
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal"
+msgstr "ವೈಯಕ್ತಿಕ"
+
+#: ../desktop-directories/Personal.directory.in.h:3
+msgid "Personal settings"
+msgstr "ವೈಯಕ್ತಿಕ ಸಿದ್ಧತೆಗಳು"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "ನಿರ್ವಹಣೆ"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "ವ್ಯವಸ್ಥೆಯಾದ್ಯಂತದ ಸಿದ್ಧತೆಗಳನ್ನು ಬದಲಾಯಿಸಿ (ಎಲ್ಲಾ ಬಳಕೆದಾರರ ಮೇಲೂ ಪರಿಣಾಮಬೀರುತ್ತದೆ)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "ವೈಯಕ್ತಿಕ ಆದ್ಯತೆಗಳು"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "ಆದ್ಯತೆಗಳು"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "ವ್ಯವಸ್ಥೆ"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "ವ್ಯವಸ್ಥೆಯ ಸಿದ್ಧತೆಗಳು"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "ವ್ಯವಸ್ಥೆಯ ಉಪಕರಣಗಳು"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "ವ್ಯವಸ್ಥೆಯ ಸಂರಚನೆ ಹಾಗು ಪರಿವೀಕ್ಷಣೆ"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "ಜಾಗತಿಕ ನಿಲುಕಣೆ"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "ಜಾಗತಿಕ ನಿಲುಕಣೆ ಸಿದ್ಧತೆಗಳು"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "ಸಲಕರಣೆಗಳು"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "ಗಣಕತೆರೆಯ ಸಲಕರಣೆಗಳು"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "ಅನ್ವಯಗಳು"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "ವೈಯಕ್ತಿಕ ಆದ್ಯತೆಗಳು ಹಾಗು ನಿರ್ವಹಣಾ ಸಿದ್ಧತೆಗಳು"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "ಬೇರೆ ವರ್ಗಗಳಿಗೆ ಸೇರದೇ ಇರುವಂತಹ ಅನ್ವಯಗಳು"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "ಇತರೆ"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "ಮೆನು ಸಂಪಾದಕ"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "ಮೆನುಗಳನ್ನು ಸಂಪಾದಿಸು"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "ಅನ್ವಯಗಳು(_A):"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "ಪೂರ್ವನಿಯೋಜಿತ(_D)"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "ಮೆನುಗಳು(_M):"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "ಸರಳ ಮೆನು ಸಂಪಾದಕ %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "ಹೆಸರು"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "ತೋರಿಸು"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"ನೆಲೆ ಕಡತಕೋಶವು ಕಂಡುಬಂದಿಲ್ಲ: /etc/passwd ನಲ್ಲಿ ಸಿದ್ಧಗೊಳಿಸಿಲ್ಲ ಹಾಗು ವಾತಾವರಣದಲ್ಲಿ "
+"$HOME ಗೆ ಯಾವುದೇ ಮೌಲ್ಯವಿಲ್ಲ"
+
+#~ msgid "Menu file"
+#~ msgstr "ಮೆನು ಕಡತ"
+
+#~ msgid "MENU_FILE"
+#~ msgstr "MENU_FILE"
+
+#~ msgid "Monitor for menu changes"
+#~ msgstr "ಮೆನು ಬದಲಾವಣೆಗಳ ಪರಿವೀಕ್ಷಕ"
+
+#~ msgid "Include <Exclude>d entries"
+#~ msgstr "<Exclude>ಆದಂತಹ ನಮೂದುಗಳನ್ನು ಅಡಕಗೊಳಿಸು"
+
+#~ msgid "Include NoDisplay=true entries"
+#~ msgstr "NoDisplay=true ನಮೂದನ್ನು ಅಡಕಗೊಳಿಸು"
+
+#~ msgid "Invalid desktop file ID"
+#~ msgstr "ಸಿಂಧುವಲ್ಲದ ಗಣಕತೆರೆ ಕಡತ ID"
+
+#~ msgid "[Invalid Filename]"
+#~ msgstr "[ಸಿಂಧುವಲ್ಲದ ಕಡತಹೆಸರು]"
+
+#~ msgid " <excluded>"
+#~ msgstr " <excluded>"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "==== Menu changed, reloading ====\n"
+#~ "\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "==== ಮೆನು ಬದಲಾಯಿಸಲ್ಪಟ್ಟಿದೆ, ಪುನಃ ಲೋಡ್ ಆಗುತ್ತಿದೆ ====\n"
+#~ "\n"
+#~ "\n"
+
+#~ msgid "Menu tree is empty"
+#~ msgstr "ಮೆನು ವೃಕ್ಷವು(tree) ಖಾಲಿ ಇದೆ"
+
+#~ msgid "- test MATE's implementation of the Desktop Menu Specification"
+#~ msgstr "- ಗಣಕತೆರೆ ಮೆನು ಸೂಚನೆಗಳ MATE ನ ಅನ್ವಯಿಸುವಿಕೆಯನ್ನು ಪರೀಕ್ಷಿಸುತ್ತದೆ"
diff --git a/po/ko.po b/po/ko.po
new file mode 100644
index 0000000..f3bfea9
--- /dev/null
+++ b/po/ko.po
@@ -0,0 +1,268 @@
+# mate-menus Korean message translation
+# This file is distributed under the same license as the mate-menus package.
+#
+# Sung-Hyun Nam <[email protected]>, 2000.
+# Young-Ho Cha <[email protected]>, 2000,2001,2003, 2007.
+# Eunju Kim <[email protected]>, 2007.
+# Changwoo Ryu <[email protected]>, 1998, 2002, 2003, 2008, 2009, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n"
+"POT-Creation-Date: 2009-08-23 07:27+0900\n"
+"PO-Revision-Date: 2010-03-13 23:55+0900\n"
+"Last-Translator: Changwoo Ryu <[email protected]>\n"
+"Language-Team: MATE Korea <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "멀티미디어 메뉴"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "음악과 비디오"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "개발"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "소프트웨어 개발을 위한 도구"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "교육"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "게임"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "게임 메뉴"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "그래픽"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "그래픽 응용프로그램"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "하드웨어"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "하드웨어 장치를 설정합니다"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "인터넷과 네트워크"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "네트워크와 관련된 설정을 합니다"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "모양새"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "바탕환경의 모양새와 행동을 설정합니다"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "인터넷"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "웹과 전자메일 같은 인터넷에 접근 가능한 프로그램"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "오피스"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "오피스 응용프로그램"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "개인"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "개인 설정"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "관리"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "시스템 전체 설정을 바꿉니다 (모든 사용자에게 영향을 미칩니다)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "개인 기본 설정"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "기본 설정"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "시스템"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "시스템 설정"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "시스템 도구"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "시스템 설정과 감시"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "보편적 접근성"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "보편적 접근성 설정"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "보조 프로그램"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "바탕환경의 보조 프로그램"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "프로그램"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "개인 기본 설정과 관리자 설정"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "어떤 범주에도 해당되지 않는 프로그램"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "기타"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "메뉴 편집기"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "메뉴 편집"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "프로그램(_A):"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "기본값(_D)"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "메뉴(_M):"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "간단한 메뉴 편집기 %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "이름"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "보이기"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"홈 디렉터리를 찾을 수 없습니다: /etc/passwd와 $HOME 환경변수가 설정이 되어 있"
+"지 않습니다"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "메뉴 파일"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "메뉴 바꿈 감시"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "<차단>된 항목 포함"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "NoDisplay=true 항목 포함"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "잘못된 바탕 화면 파일 ID"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[잘못된 파일 이름]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <차단됨>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== 메뉴가 바뀌었습니다, 다시 읽습니다 ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "메뉴 트리가 비었습니다"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- 그놈의 데스크톱 메뉴 명세서의 테스트 구현"
diff --git a/po/ku.po b/po/ku.po
new file mode 100644
index 0000000..e888cf8
--- /dev/null
+++ b/po/ku.po
@@ -0,0 +1,285 @@
+# translation of ku.po to Kurdish
+# translation of mate-menus.HEAD.po to Kurdish
+# Kurdish translation for mate-menus
+# Copyright (c) (c) 2005 Canonical Ltd, and Rosetta Contributors 2005
+# This file is distributed under the same license as the mate-menus package.
+# Erdal Ronahi <[email protected]>, 2005.
+# Erdal Ronahi <[email protected]>, 2005.
+# Erdal Ronahi <[email protected], [email protected]>, 2005, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: ku\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-01-08 13:14+0100\n"
+"PO-Revision-Date: 2007-08-13 14:13+0000\n"
+"Last-Translator: Erdal Ronahi <[email protected]>\n"
+"Language-Team: Kurdish <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2008-01-08 10:24+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+"X-Poedit-Language: Kurdish\n"
+
+#: ../desktop-directories/Accessibility.directory.in.h:1
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Gihîştina Gerdûnî"
+
+#: ../desktop-directories/Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Mîhengên Gihîştina Gerdûnî"
+
+#: ../desktop-directories/Accessories.directory.in.h:1
+msgid "Accessories"
+msgstr "Bernameyên Alîkar"
+
+#: ../desktop-directories/Accessories.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Bernameyên alîkar ên sermaseyê"
+
+#: ../desktop-directories/Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Sepan"
+
+#: ../desktop-directories/Desktop.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Vebijêrkên takekesî û mîhengên rêveberiyê"
+
+#: ../desktop-directories/Desktop.directory.in.h:2
+#: ../desktop-directories/System.directory.in.h:1
+msgid "System"
+msgstr "Pergal"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Bernamekirin"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Amûrên ji bo pêşdebirina nivîsbariyê"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Perwerdehî"
+
+#: ../desktop-directories/Games.directory.in.h:1
+msgid "Games"
+msgstr "Lîstik"
+
+#: ../desktop-directories/Games.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Lîstik û demxweşî"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafîk"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Sepanên grafîkê"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Hişkalav"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Mîhengên çend cîhazên hişkalavê"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Înternet û Tor"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Mîhengên têkildarî torê"
+
+#: ../desktop-directories/Internet.directory.in.h:1
+msgid "Internet"
+msgstr "Înternet"
+
+#: ../desktop-directories/Internet.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Bernameyên wekî epeyam û gerokan yên ji bo pêwendiya înternetê"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Dîtin û Hestkirin"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Mîhengên xuyabûn û tevgerînên sermasê"
+
+#: ../desktop-directories/Multimedia.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Pêşeka multîmedya"
+
+#: ../desktop-directories/Multimedia.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Deng & Vîdeo"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Nivîsgeh"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Sepandinên Ofîsê"
+
+#: ../desktop-directories/Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Sepanên ku nakevin kategoriyên din"
+
+#: ../desktop-directories/Other.directory.in.h:2
+msgid "Other"
+msgstr "Yên din"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Takekesî"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Mîhengên takekesî"
+
+#: ../desktop-directories/Preferences.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Vebijêrkên takekesî"
+
+#: ../desktop-directories/Preferences.directory.in.h:2
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Vebijêrk"
+
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:2
+msgid "Universal access related preferences"
+msgstr "Vebijêrkên têkildarî gihîştina gerdûnî"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences and settings"
+msgstr "Mîheng û vebijêrkên takekesî"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Mîhengên pergalê"
+
+#: ../desktop-directories/System-Settings.directory.in.h:1
+msgid "Administration"
+msgstr "Rêveberî"
+
+#: ../desktop-directories/System-Settings.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Eyarên hemû pergalê biguherîne (ji bo hemû bikarhêneran derbas dibe)"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Amûrên Pergalê"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Avakirin û şopandina pergalê"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Edîtorê Pêşekê"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "Pêşekan biguherîne"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "_Sepan:"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "_Standard"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "_Pêşek:"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123
+msgid "Name"
+msgstr "Nav"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115
+msgid "Show"
+msgstr "Nîşan bide"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Peldanka mal nayê dîtin: di /etc/passwd nehat mîheng kirin û di environment "
+"de nirxa $HOME tune"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Pelê pêşekê"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "PELÊ_PÊŞEKÊ"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Guherînên pêşekê temaşe bike"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Yên <hatiye derxistin> bihundirîne"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Ketinên (entry) NoDisplay=true bihundirîne"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "ID ya dosiya sermaseyê ne derbasdar e"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Navê pelî yê nederbasdar]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <hatiye derxistin>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Pêşek hat guherandin, ji nû ve tê bar kirin====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Dara pêşekê vala ye"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- bikaranîna Desktop Menu Specification a MATE'yê test bike"
+
+msgid "Accessibility"
+msgstr "Gihîstin"
+
+msgid "Desktop"
+msgstr "Sermasê"
+
+#~ msgid "Accessibility related preferences"
+#~ msgstr "Vebijêrkên gihîştinê"
diff --git a/po/ky.po b/po/ky.po
new file mode 100644
index 0000000..ff0b8e4
--- /dev/null
+++ b/po/ky.po
@@ -0,0 +1,227 @@
+# Translation of mate-menus to Kirghiz
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) 2003,2004, 2005 Free Software Foundation, Inc.
+# Timur Jamakeev <[email protected]>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus 2.12.1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2005-10-28 22:47+0200\n"
+"PO-Revision-Date: 2005-10-29 09:18+0600\n"
+"Last-Translator: Timur Jamakeev <[email protected]>\n"
+"Language-Team: Kirghiz\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+
+#: ../desktop-directories/Accessibility.directory.in.h:1
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:1
+msgid "Accessibility"
+msgstr "Ыңгайлуулуктар"
+
+#: ../desktop-directories/Accessibility.directory.in.h:2
+msgid "Accessibility Settings"
+msgstr "Ыңгайлуулуктарды ырастоо"
+
+#: ../desktop-directories/Accessories.directory.in.h:1
+msgid "Accessories"
+msgstr "Стандарттык иштемелер"
+
+#: ../desktop-directories/Accessories.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Иш столунун иштемелери"
+
+#: ../desktop-directories/Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Иштемелер"
+
+#: ../desktop-directories/Desktop.directory.in.h:1
+msgid "Desktop"
+msgstr "Иш столу"
+
+#: ../desktop-directories/Desktop.directory.in.h:2
+msgid "Personal preferences and administration settings"
+msgstr "Өздүк жактыруулар жана административдик параметрлер"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Программалоо"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Программа иштеп чыгуу аспаптары"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Билим берүү иштемелери"
+
+#: ../desktop-directories/Games.directory.in.h:1
+msgid "Games"
+msgstr "Оюндар"
+
+#: ../desktop-directories/Games.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Оюндар жана эс алуу"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Графика"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Графикалык иштемелер"
+
+#: ../desktop-directories/Internet.directory.in.h:1
+msgid "Internet"
+msgstr "Интернет"
+
+#: ../desktop-directories/Internet.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Интернет менен иштөө программалары (почта, аралагыч ж.б.)"
+
+#: ../desktop-directories/Multimedia.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Мультимедиа"
+
+#: ../desktop-directories/Multimedia.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Аудио и видео"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Офис"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Офистик иштемелер"
+
+#: ../desktop-directories/Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Эч бир категорияга туура келбеген иштемелер"
+
+#: ../desktop-directories/Other.directory.in.h:2
+msgid "Other"
+msgstr "Башкалар"
+
+#: ../desktop-directories/Preferences.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Өздүк жактыруулар"
+
+#: ../desktop-directories/Preferences.directory.in.h:2
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Ырастоолор"
+
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:2
+msgid "Accessibility related preferences"
+msgstr "Атайын мүмкүнчүлүктөргө байланышкан ырастоолор"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences and settings"
+msgstr "Өздүк ырастоолор жана параметрлер"
+
+#: ../desktop-directories/System-Settings.directory.in.h:1
+msgid "Administration"
+msgstr "Системаны башкаруу"
+
+#: ../desktop-directories/System-Settings.directory.in.h:2
+msgid "Change systemwide settings (affects all users)"
+msgstr "Системалык ырастоолорду өзгөртүү (бардык колдонуучуларга таасир этет)"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Системалык аспаптар"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Системаны конфигурациялоо жана аны байкоо аспаптары"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Меню оңдогучу"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "Менюну оңдоо"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "_Иштемелер:"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "_Баштапкы"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "_Меню:"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123
+msgid "Name"
+msgstr "Аты"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115
+msgid "Show"
+msgstr "Көрсөтүү"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr "Өздүк каталог табылбады: /etc/passwd ичинде дагы, $HOME өзгөрмөсү аркылуу дагы көрсөтүлгөн эмес"
+
+#: ../util/test-menu-spec.c:32
+msgid "Menu file"
+msgstr "Меню файлы"
+
+#: ../util/test-menu-spec.c:32
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:33
+msgid "Monitor for menu changes"
+msgstr "Менюдагы өзгөрүлүүлөрдү байкоо"
+
+#: ../util/test-menu-spec.c:34
+msgid "Include <Exclude>d entries"
+msgstr "Алынып салынган (<Exclude>) элементтерди кошуу"
+
+#: ../util/test-menu-spec.c:89
+msgid "Invalid desktop file ID"
+msgstr "desktop-файлынын туура эмес IDси"
+
+#: ../util/test-menu-spec.c:90
+msgid "[Invalid Filename]"
+msgstr "[туура эмес файл аты]"
+
+#: ../util/test-menu-spec.c:91
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:162
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Меню өзгөртүлдү, кайра жүктөлүүдө ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:167 ../util/test-menu-spec.c:203
+msgid "Menu tree is empty"
+msgstr "Меню дарагы бош"
+
+#: ../util/test-menu-spec.c:186
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- MATEдо колдонулуучу Desktop Menu спецификациясынын ишке ашырылгандыгын текшерүү"
+
diff --git a/po/lt.po b/po/lt.po
new file mode 100644
index 0000000..b39aee6
--- /dev/null
+++ b/po/lt.po
@@ -0,0 +1,280 @@
+# translation of lt.po to Lithuanian
+# Lithuanian translation of mate-menus.
+# Copyright (C) 2004-2007, 2008 Free Software Foundation, Inc.
+# This file is distributed under the same license as the mate-menus package.
+#
+# I'm a rolling thunder, a pouring rain
+# I'm comin' on like a hurricane
+#
+# Justina Klingaitė <[email protected]>, 2005.
+# Žygimantas Beručka <[email protected]>, 2004-2007.
+# Gintautas Miliauskas <[email protected]>, 2007, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: lt\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-09-15 02:11+0300\n"
+"PO-Revision-Date: 2009-09-15 02:11+0300\n"
+"Last-Translator: Gintautas Miliauskas <[email protected]>\n"
+"Language-Team: Lithuanian <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%"
+"100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Daugialypės terpės meniu"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Garsas ir vaizdas"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programavimas"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Programinės įrangos kūrimo įrankiai"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Švietimas"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Žaidimai"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Žaidimai ir pramogos"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafika"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Grafinės programos"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Aparatinė įranga"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Kai kurių aparatinių įrenginių nustatymai"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internetas ir tinklas"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Su tinklu susiję nustatymai"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Išvaizda ir elgsena"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Darbo aplinkos išvaizdos ir elgsenos nustatymai"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internetas"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programos interneto prieigai (žiniatinklis, el. paštas)"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Raštinė"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Raštinės programos"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Asmeniniai"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Asmeniniai nustatymai"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Administravimas"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Keisti sisteminio masto nustatymus (paveikia visus naudotojus)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Asmeniniai nustatymai"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Nustatymai"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Sistema"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Sistemos nustatymai"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Sistemos įrankiai"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Sistemos konfigūravimas ir stebėjimas"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Universali prieiga"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Universalios prieigos nustatymai"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Reikmenys"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Darbo aplinkos reikmenys"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Programos"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Asmeniniai ir administravimo nustatymai"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Programos, kurios netiko kitose kategorijose"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Kitos"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Meniu redaktorius"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Redaguoti meniu"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Programos:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Numatytieji"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Meniu:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Paprastas meniu redaktorius %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Pavadinimas"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Rodyti"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Nepavyko rasti namų aplanko: /etc/passwd nenurodyta ir aplinkoje nėra $HOME "
+"reikšmės"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Meniu failas"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENIU_FAILAS"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Stebėti meniu pakeitimus"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Įtraukti <Pašalint>us įrašus"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Įtraukti NoDisplay=true įrašus"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Netinkamas darbastalio failo ID"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Netaisyklingas failo vardas]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <pašalintas>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Meniu pakeistas, perkraunama ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Meniu medis yra tuščias"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- patikrinti MATE darbo aplinkos meniu specifikacijos įgyvendinimą"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Su universalia prieiga susiję nustatymai"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Asmeniniai nustatymai"
diff --git a/po/lv.po b/po/lv.po
new file mode 100644
index 0000000..d34aae9
--- /dev/null
+++ b/po/lv.po
@@ -0,0 +1,261 @@
+# translation of lv.po to Latvian
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+#
+# Raivis Dejus <[email protected]>, 2006, 2007, 2009.
+# Peteris Krisjanis <[email protected]>, 2010.
+msgid ""
+msgstr ""
+"Project-Id-Version: lv\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug."
+"cgi?product=mate-menus&component=general\n"
+"POT-Creation-Date: 2010-03-28 07:09+0000\n"
+"PO-Revision-Date: 2010-04-24 22:21+0300\n"
+"Last-Translator: Peteris Krisjanis <[email protected]>\n"
+"Language-Team: Latviešu <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
+"2);\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Multimediju izvēlne"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Skaņa un video"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programmēšana"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Programmatūras izstrādes rīki"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Izglītība"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Spēles"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Spēles un izklaides programmas"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafika"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Grafikas programmas"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Aparatūra"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Dažu aparatūras ierīču iestatījumi"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internets un tīkli"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Ar tīklu saistīti iestatījumi"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Izskats un uzvedība"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Iestatījumi, kas nosaka darbvirsmas izskatu un uzvedību"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internets"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programmas darbam internetā kā tīmekļa pārlūkošana un e-pasts"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Birojs"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Biroja lietotnes"
+
+#. Translators: this is Personal as in "Personal settings"
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal"
+msgstr "Personīgie"
+
+#: ../desktop-directories/Personal.directory.in.h:3
+msgid "Personal settings"
+msgstr "Personīgie iestatījumi"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Administrēšana"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Sistēmas iestatījumu maiņa (ietekmē visus lietotājus)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Personīgie iestatījumi"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Iestatījumi"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Sistēma"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Sistēmas iestatījumi"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Sistēma rīki"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Sistēmas konfigurācija un pārraudzība"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Universālā piekļuve"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Universālās piekļuves iestatījumi"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Piederumi"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Darbvirsmas piederumi"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Lietotnes"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Personīgie un administrācijas iestatījumi"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Lietotnes, kas neiederas nevienā citā kategorijā"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Citas lietotnes"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Izvēlņu redaktors"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Izvēlņu rediģēšana"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Lietotnes:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Noklusētie"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Izvēlnes:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+#| msgid "Menu Editor"
+msgid "Simple Menu Editor %s"
+msgstr "Vienkāršs izvēlņu redaktors %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Nosaukums"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Rādīt"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Neizdodas atrast mājas direktoriju: tā nav norādīta /etc/passwd un nav arī "
+"$HOME vides mainīgā"
+
+#~ msgid "Menu file"
+#~ msgstr "Izvēlnes fails"
+
+#~ msgid "MENU_FILE"
+#~ msgstr "MENU_FILE"
+
+#~ msgid "Monitor for menu changes"
+#~ msgstr "Izvēlņu izmaiņu pārraugs"
+
+#~ msgid "Include <Exclude>d entries"
+#~ msgstr "Pievienot <Exclude> ierakstus"
+
+#~ msgid "Include NoDisplay=true entries"
+#~ msgstr "Pievienot NoDisplay=true ierakstus"
+
+#~ msgid "Invalid desktop file ID"
+#~ msgstr "Nederīgs darbvirsmas faila ID"
+
+#~ msgid "[Invalid Filename]"
+#~ msgstr "[Nederīgs faila nosaukums]"
+
+#~ msgid " <excluded>"
+#~ msgstr " <excluded>"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "==== Menu changed, reloading ====\n"
+#~ "\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "==== Izvēlne izmainīta, pārlādēju ==== \n"
+#~ "\n"
+#~ "\n"
+
+#~ msgid "Menu tree is empty"
+#~ msgstr "Izvēlņu koks ir tukšs"
+
+#~ msgid "- test MATE's implementation of the Desktop Menu Specification"
+#~ msgstr ""
+#~ "- pārbaudiet MATE darbvirsmas izvēlņu specifikācijas implementāciju"
diff --git a/po/mai.po b/po/mai.po
new file mode 100644
index 0000000..c7815c0
--- /dev/null
+++ b/po/mai.po
@@ -0,0 +1,272 @@
+# translation of mate-menus.master.mai.po to Hindi
+# translation of mate-menus.HEAD.po to
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Sangeeta Kumari <[email protected]>, 2008.
+# Rajesh Ranjan <[email protected]>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus.master.mai\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n"
+"POT-Creation-Date: 2009-06-21 17:35+0000\n"
+"PO-Revision-Date: 2009-09-20 12:27+0530\n"
+"Last-Translator: Rajesh Ranjan <[email protected]>\n"
+"Language-Team: Hindi <hindi.sf.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n\n"
+"\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "मल्टीमीडिया मेनू"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "ध्वनि आ वीडियो"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "प्रोग्रामिंग"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "साफ्टवेयर विकासक लेल अओजार"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "शिक्षा"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "खेल"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "खेल आ मनोरंजन"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "आलेखी"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "आलेखी अनुप्रयोगसभ"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "हार्डवेयर"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "कतेक हार्डवेयर युक्तिक लेल सेटिंग"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "इंटरनेट आ संजाल"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "संजाल संबंधित सेटिंग"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "रूप-रंग"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "डेस्कटाप रूपाकार आ व्यवहारक नियंत्रण करैबला सेटिंग"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "इंटरनेट"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "इंटरनेटसँ जुड़बाक लेल वेब आ इमेल जहिना प्रोग्राम"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "कार्यालय"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "कार्यालयक अनुप्रयोग"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "निजी"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "निजी सेटिंग"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "प्रशासन"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "तंत्र स्तरीय सेटिंग बदलू (सभटा प्रयोक्ता प्रभावित होइछ)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "निज वरीयतासभ"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "वरीयतासभ"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "तंत्र"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "तंत्र सेटिंग"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "सिस्टम अओजार"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "सिस्टम बिन्यास आ निरीक्षण"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "सार्वभौमिक पहुँच"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "सार्वभौमिक पहुँच सेटिंग"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "संलग्नक"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "डेस्कटाप संलग्नकसभ"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "अनुप्रयोग"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "निज वरीयता आ प्रशासनिक जमावट"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "अनुप्रयोगसभ जे आन श्रेणीमे सटीक नहि छला"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "आन"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "मेनू संपादक"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "मेनू संपादित करू"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "अनुप्रयोग (_A):"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "मूलभूत (_D)"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "मेनू (_M):"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+#| msgid "Menu Editor"
+msgid "Simple Menu Editor %s"
+msgstr "सरल मेनू संपादक %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "नाम"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "देखाबू"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"घर निर्देशिकाकेँ नहि पाबि सकैत अछि: /etc/passwd मे सेट नहि आओर $HOME क' लेल वातावरणमे "
+"कोनो मान नहि अछि"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "मेनू फाइल"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "मेनू फाइल (_F)"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "मेनू परिवर्तनसभक लेल निरीक्षण"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "सामिल <Exclude> प्रविष्टि"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Include NoDisplay=true entries"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "अमान्य डेस्कटाप फाइल ID"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[अमान्य फाइलनाम]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== मेनू बदलल गेल, फिनु लोड कए रहल अछि ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "मेनू तरू रिक्त अछि"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- डेस्कटाप मेनू निर्दिष्टताक MATE कार्यान्वयन क' जाँच करू"
+
diff --git a/po/mg.po b/po/mg.po
new file mode 100644
index 0000000..b1ef478
--- /dev/null
+++ b/po/mg.po
@@ -0,0 +1,237 @@
+# Malagasy translation of mate-menus.
+# Copyright (C) 2006 THE mate-menus'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the mate-menus package.
+# Fano Rajaonarisoa <[email protected]>, 2006.
+# Thierry Randrianiriana <[email protected], 2006.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus HEAD\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-03-31 15:24+0300\n"
+"PO-Revision-Date: 2006-04-07 10:42+0300\n"
+"Last-Translator: Thierry Randrianiriana <[email protected]>\n"
+"Language-Team: Malagasy <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit"
+
+#: ../desktop-directories/Accessibility.directory.in.h:1
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:1
+msgid "Accessibility"
+msgstr "Fanamorana"
+
+#: ../desktop-directories/Accessibility.directory.in.h:2
+msgid "Accessibility Settings"
+msgstr "Fandrindrana ny fanamorana"
+
+#: ../desktop-directories/Accessories.directory.in.h:1
+msgid "Accessories"
+msgstr "Fiasana"
+
+#: ../desktop-directories/Accessories.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Fiasan'ny desktop"
+
+#: ../desktop-directories/Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Rindran'asa"
+
+#: ../desktop-directories/Desktop.directory.in.h:1
+msgid "Desktop"
+msgstr "Desktop"
+
+#: ../desktop-directories/Desktop.directory.in.h:2
+msgid "Personal preferences and administration settings"
+msgstr "Safidy manokana sy fandrindrana ny fomba fitantanana"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Famolavolavolana"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Fitaovana ho an'ny mpamolavola rindran'asa"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Fanabeazana"
+
+#: ../desktop-directories/Games.directory.in.h:1
+msgid "Games"
+msgstr "Lalao"
+
+#: ../desktop-directories/Games.directory.in.h:2
+msgid "Games and amusements"
+msgstr "lalao sy fialam-boly"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Sary"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Rindran'asa fanaovan-tsary"
+
+#: ../desktop-directories/Internet.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Internet.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr ""
+"Rindran'asa ahafahana mifandray amin'ny Internet toy ny tranonkala sy ny "
+"mailaka"
+
+#: ../desktop-directories/Multimedia.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Karazan-tsafidin'ny haino aman-jery"
+
+#: ../desktop-directories/Multimedia.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Feo sy sarimihetsika"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Office"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Rindran'asa Office"
+
+#: ../desktop-directories/Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Rindran'asa izay tsy tafiditra anaty sokajy hafa"
+
+#: ../desktop-directories/Other.directory.in.h:2
+msgid "Other"
+msgstr "Hafa"
+
+#: ../desktop-directories/Preferences.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Safidy manokana"
+
+#: ../desktop-directories/Preferences.directory.in.h:2
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Safidy"
+
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:2
+msgid "Accessibility related preferences"
+msgstr "Safidy mifandraika amin'ny fanamorana"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences and settings"
+msgstr "Safidy sy fandrindrana manokana"
+
+#: ../desktop-directories/System-Settings.directory.in.h:1
+msgid "Administration"
+msgstr "Fitantanana"
+
+#: ../desktop-directories/System-Settings.directory.in.h:2
+msgid "Change systemwide settings (affects all users)"
+msgstr ""
+"Hanova ny fandrindrana ny rafitra manontolo (mahakasika ny mpampiasa rehetra)"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Fitaovan'ny rafitra"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Fanefena sy fanaraha-maso ny rafitra"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Mpanova karazan-tsafidy"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "Hanova ny karazan-tsafidy"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "_Rindran'asa"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "_Fampiasa"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "_Karazan-tsafidy"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123
+msgid "Name"
+msgstr "Anarana"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115
+msgid "Show"
+msgstr "Asehoy"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Tsy hita ny laha-tahirin'ny fandraisana: tsy voafaritra ao anatin'ny /etc/passwd "
+"ary tsy misy isa ho an'ny $HOME anatin'ny tontolo"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Rakitra karazan-tsafidy"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "RAKITRA_KARAZAN-TSAFIDY"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Mpandrindra ny fanovana ny karazan-tsafidy"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Ampidiro ao ireo fidirana <Exclude>d"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Ampidiro ao ireo fidirana NoDisplay=true"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "ID'ny rakitry ny desktop diso"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Anaran-drakitra diso]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <tsy tadiditra>"
+
+#: ../util/test-menu-spec.c:164
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Voaova ny karazan-tsafidy. Miverina manokatra ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Foana ny hazon'ny karazan-tsafidy"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr ""
+"- manandrana ny fampiharan'ny MATE ny famaritana ny karazan-tsafidin'ny desktop"
diff --git a/po/mk.po b/po/mk.po
new file mode 100644
index 0000000..cd0c00f
--- /dev/null
+++ b/po/mk.po
@@ -0,0 +1,277 @@
+# translation of mate-menus.HEAD.po to Macedonian
+# translation of mate-menus.
+# Copyright (C) 2005 THE mate-menus'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the mate-menus package.
+#
+# <>, 2005.
+# Арангел Ангов <[email protected]>, 2005.
+# Arangel Angov <[email protected]>, 2006.
+# Jovan Naumovski <[email protected]>, 2006, 2007.
+# Arangel Angov <[email protected]>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus.HEAD\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-05-02 03:41+0100\n"
+"PO-Revision-Date: 2007-09-04 11:06+0200\n"
+"Last-Translator: Arangel Angov <[email protected]>\n"
+"Language-Team: Macedonian <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: ../desktop-directories/Accessibility.directory.in.h:1
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Универзален пристап"
+
+#: ../desktop-directories/Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Поставувања за универзален пристап"
+
+#: ../desktop-directories/Accessories.directory.in.h:1
+msgid "Accessories"
+msgstr "Услужни"
+
+#: ../desktop-directories/Accessories.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Алатки за работната површина"
+
+#: ../desktop-directories/Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Апликации"
+
+#: ../desktop-directories/Desktop.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Лични преференции и администраторски поставувања"
+
+#: ../desktop-directories/Desktop.directory.in.h:2
+#: ../desktop-directories/System.directory.in.h:1
+msgid "System"
+msgstr "Систем"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Програмирање"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Алатки за развој на софтвер"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Едукација"
+
+#: ../desktop-directories/Games.directory.in.h:1
+msgid "Games"
+msgstr "Игри"
+
+#: ../desktop-directories/Games.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Игри и забава"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Графика"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Графички апликации"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Хардвер"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Поставувања за неколку хардверски уреди"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Интернет и мрежа"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Поставувања кои се однесуваат на мрежа"
+
+#: ../desktop-directories/Internet.directory.in.h:1
+msgid "Internet"
+msgstr "Интернет"
+
+#: ../desktop-directories/Internet.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Програми за пристап на интернет"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Изглед"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Поставувања кои го контролираат изгледот на работната површина и однесувањето"
+
+#: ../desktop-directories/Multimedia.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Мени со мултимедија"
+
+#: ../desktop-directories/Multimedia.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Звук и видео"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Канцелариски"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Канцелариски апликации"
+
+#: ../desktop-directories/Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Апликации кои што не влегуваат во ниедна категорија"
+
+#: ../desktop-directories/Other.directory.in.h:2
+msgid "Other"
+msgstr "Други"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Лично"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Лични поставувања"
+
+#: ../desktop-directories/Preferences.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Лични преференции"
+
+#: ../desktop-directories/Preferences.directory.in.h:2
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Преференции"
+
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:2
+msgid "Universal access related preferences"
+msgstr "Преференции поврзани со универзалниот пристап"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences and settings"
+msgstr "Лични преференции и поставувања"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Системски поставувања"
+
+#: ../desktop-directories/System-Settings.directory.in.h:1
+msgid "Administration"
+msgstr "Администрација"
+
+#: ../desktop-directories/System-Settings.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Промени ги поставувањата на целиот систем (има ефект врз сите корисници)"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Системски алатки"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Конфигурација и надгледување на системот"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Уредувач за менија"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "Уреди менија"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "_Апликации:"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "_Стандардни"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "_Менија:"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123
+msgid "Name"
+msgstr "Име"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115
+msgid "Show"
+msgstr "Покажи"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Не можам да го пронајдам домашниот директориум: не е поставен во /etc/passwd "
+"и нема вредност за $HOME во околината."
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Датотека за менито"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "ДАТОТЕКА_ЗА МЕНИТО"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Надгледувај промени во менито"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Вклучи <Исклучени> записи"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Вклучи без приказ=вистински записи"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Невалидна идентификација на датотеката"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Невалидно име на датотека]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <исклучено>"
+
+#: ../util/test-menu-spec.c:164
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Промена во менито, освежувам ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Дрвото на менито е празно"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr ""
+"- тест имплементација на спецификацијата за менито на работната површина на "
+"MATE"
+
diff --git a/po/ml.po b/po/ml.po
new file mode 100644
index 0000000..4646cd6
--- /dev/null
+++ b/po/ml.po
@@ -0,0 +1,269 @@
+# translation of mate-menus.master.ml.po to
+# This file is distributed under the same license as the mate-menus package.
+# Copyright (C) 2007-2008 mate-menus' COPYRIGHT HOLDER.
+# Ani Peter <[email protected]>, 2006.
+# Praveen|പ്രവീണ്‍ A|എ <[email protected]>, 2007,2008.
+# Ani Peter <[email protected]>, 2007.
+# Reviewed by Santhosh Thottingal <[email protected]>
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus.master.ml\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n"
+"POT-Creation-Date: 2009-06-21 17:35+0000\n"
+"PO-Revision-Date: 2009-09-12 18:29+0530\n"
+"Last-Translator: \n"
+"Language-Team: <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "മള്‍ട്ടീമീഡിയ മെനു"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "ശബ്ദവും ചലച്ചിത്രവും"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "പ്രോഗ്രാമിങ്"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "സോഫ്റ്റ്‌വെയര്‍ വികസനത്തിനു് ആവശ്യമുളള പണിയായുധങ്ങള്‍"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "വിദ്യാഭ്യാസം"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "കളികള്‍"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "കളികളും വിനോദങ്ങളും"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "ഗ്രാഫിക്സ്"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "ഗ്രാഫിക്സ് പ്രയോഗങ്ങള്‍"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "ഹാര്‍ഡ്‌വെയര്‍"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "പലയിനം ഹാര്‍ഡ്‌വെയര്‍ ഉപകരണങ്ങള്‍ക്കുള്ള സജ്ജീകരണങ്ങള്‍"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "ഇന്റര്‍നെറ്റും ശൃംഖലയും"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "ശൃംഖലയുമായി ബന്ധപ്പെട്ട സജ്ജീകരണങ്ങള്‍"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "ചമയം"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "പണിയിടത്തിന്റെ കാഴ്ചയും പെരുമാറ്റവും നിയന്ത്രിയ്ക്കുന്ന സജ്ജീകരണങ്ങള്‍"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "ഇന്റര്‍നെറ്റ്"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "ഇന്റര്‍നെറ്റ് ലഭ്യതയ്ക്കാവശ്യമുളള പ്രോഗ്രാമുകളായ വെബും ഇമെയിലും"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "ഓഫീസ്"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "ഓഫീസ് പ്രയോഗങ്ങള്‍"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "സ്വകാര്യം"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "സ്വകാര്യ സജ്ജീകരണങ്ങള്‍"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "ഭരണം"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "സിസ്റ്റം മുഴുവനുളള സജ്ജീകരണങ്ങളില്‍ മാറ്റം വരുത്തുക (എല്ലാ ഉപയോക്താക്കളേയും ബാധിക്കുന്നു)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "സ്വകാര്യ മുന്‍ഗണനകള്‍"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "മുന്‍ഗണനകള്‍"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "സിസ്റ്റം"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "സിസ്റ്റത്തിന്റെ സജ്ജീകരണങ്ങള്‍"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "സിസ്റ്റത്തിലെ പണിയായുധങ്ങള്‍"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "സിസ്റ്റത്തിന്റെ ക്രമീകരണവും നിരീക്ഷണവും"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "സാര്‍വ്വജനികലഭ്യത"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "സാര്‍വ്വജനികലഭ്യതാ സജ്ജീകരണങ്ങള്‍"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "ഉപകരണങ്ങള്‍"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "പണിയിടോപകരണങ്ങള്‍"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "പ്രയോഗങ്ങള്‍"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "സ്വകാര്യ മുന്‍ഗണനകളും ഭരണ സജ്ജീകരണങ്ങളും"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "മറ്റു് വിഭാഗങ്ങളില്‍ ഉള്‍‌പ്പെടാത്ത പ്രയോഗങ്ങള്‍"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "മറ്റുളളവ"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "മെനു മാറ്റുന്നിടം"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "മെനുകള്‍ മാറ്റുക"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_പ്രയോഗങ്ങള്‍:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_സഹജമായവ"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_മെനുകള്‍:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+#| msgid "Menu Editor"
+msgid "Simple Menu Editor %s"
+msgstr "ലളിതമായ മെനു മാറ്റുന്നിടം %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "പേരു്"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "കാണിയ്ക്കുക"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr "സ്വന്തം തട്ടു് കണ്ടുകിട്ടിയില്ല: /etc/passwd ല്‍ മാത്രമല്ല പരിസരത്തും $HOME നു് വിലയില്ല"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "മെനു ഫയല്‍"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "മെനു _ഫയല്‍"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "മെനുവില്‍ വരുത്തുന്ന മാറ്റങ്ങള്‍ നിരീക്ഷിയ്ക്കുക"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "<Exclude> ചെയ്ത എന്‍ട്രികളും ഉള്‍‌പ്പെടുത്തുക"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "NoDisplay=true എന്ന എന്‍ട്രികളും ഉള്‍‌പ്പെടുത്തുക"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "അസാധുവായ പണിയിട ഫയലിന്റെ ഐഡി"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[ഫയലിന്റെ പേരു് അസാധുവാണു്]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== മെനു മാറ്റിയിരിക്കുന്നു, വീണ്ടും ലഭ്യമാക്കിക്കൊണ്ടിരിയ്ക്കുന്നു ====\n"
+"\n"
+", \n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "മെനു ട്രീ ശൂന്യമാണു്"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- ഗ്നോമിന്റെ പണിയിട മെനു സ്പെസിഫിക്കേഷന്‍ നടപ്പിലാക്കിയിരിയ്ക്കുന്നതെങ്ങനെയാണെന്നു് പരീക്ഷിയ്ക്കുക"
+
diff --git a/po/mn.po b/po/mn.po
new file mode 100644
index 0000000..1b3e62c
--- /dev/null
+++ b/po/mn.po
@@ -0,0 +1,273 @@
+# translation of mn.po to Mongolian
+# translation of PACKAGE.
+# Copyright (C) 2006 THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# <>, 2006.
+# Badral <[email protected]>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mn\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-"
+"menus&component=general\n"
+"POT-Creation-Date: 2010-02-22 11:08+0000\n"
+"PO-Revision-Date: 2010-03-22 18:20+0200\n"
+"Last-Translator: Badral <[email protected]>\n"
+"Language-Team: Mongolian <[email protected]>\n"
+"Language: mn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Pootle 2.0.3\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Мультимедиа цэс"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Дуу & Видео"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Програмчилал"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Програм хөгжүүлэлийн хэрэгслүүд"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Боловсрол"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Тоглоом"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Тоглоом, зугаа цэнгэл"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "График"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "График програмууд"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Техник хангамж"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Техник хангамжийн тохиргоо"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Интернет болон сүлжээ"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Сүлжээтэй холбоотой тохиргоо"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Харагдах байдал"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Ажлын талбарын харагдалт ба харьцааны тохиргоо"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Интернэт"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Вэб болон э-шуудан гэх мэт интернэт хандалтын програмууд"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Офис"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Офисын програмууд"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Хувийн"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+#| msgid "Personal preferences and settings"
+msgid "Personal settings"
+msgstr "Хувийн тохиргоо"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Удирдлага"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+#| msgid "Change systemwide settings (affects all users)"
+msgid "Change system-wide settings (affects all users)"
+msgstr "Систем нийтийн тохируулгыг өөрчлөх (бүх хэрэглэгчдэд нөлөөлнө)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Хувийн тохиргоо"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Тохиргоо"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+#| msgid "System Tools"
+msgid "System"
+msgstr "Систем"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Системийн тохиргоо"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Системийн хэрэгслүүд"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Системийн тохиргоо болон хяналт"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Саадгүй хандалт"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+#| msgid "Accessibility Settings"
+msgid "Universal Access Settings"
+msgstr "Саадгүй хандалтын тохиргоо"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Нэмэлт төхөөрөмж"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Дэлгэцийн нэмэлт төхөөрөмжүүд"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Програмууд"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Хувийн тохиргоо болон удирдлагын тохируулгууд"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Бусад ангилалд тохирохгүй програмууд"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Бусад"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Цэс засварлагч"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Цэс засварлах"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "Програмууд:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "Өгөгдмөл"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "Цэсүүд:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+#| msgid "Menu Editor"
+msgid "Simple Menu Editor %s"
+msgstr "Хялбар цэс засварлагч %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Нэр"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Харуулах"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Хэрэглэгчийн гэр лавлах олдохгүй байна: /etc/passwd болон орчны хувьсагч "
+"$HOME-д ч утга олгогдоогүй байна"
+
+#~ msgid "Accessibility"
+#~ msgstr "Хандалт"
+
+#~ msgid "Desktop"
+#~ msgstr "Ажлын талбар"
+
+#~ msgid "Accessibility related preferences"
+#~ msgstr "Хандалттай холбоотой тохиргоонууд"
+
+#~ msgid "Menu file"
+#~ msgstr "Цэс файл"
+
+#~ msgid "MENU_FILE"
+#~ msgstr "ЦЭС_ФАЙЛ"
+
+#~ msgid "Monitor for menu changes"
+#~ msgstr "Цэс өөрчилөлтийн хяналт"
+
+#~ msgid "Include <Exclude>d entries"
+#~ msgstr "<Хассан> элементүүд оруулах"
+
+#~ msgid "Include NoDisplay=true entries"
+#~ msgstr "NoDisplay=true элемент оруулах"
+
+#~ msgid "Invalid desktop file ID"
+#~ msgstr "Хүчингүй ажлын талбар файлын ID"
+
+#~ msgid "[Invalid Filename]"
+#~ msgstr "[Хүчингүй файлын нэр]"
+
+#~ msgid " <excluded>"
+#~ msgstr "<Хасагдсан>"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "==== Menu changed, reloading ====\n"
+#~ "\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "==== Цэс өөрчлөгдсөн, дахин ачаалж байна ====\n"
+#~ "\n"
+#~ "\n"
+
+#~ msgid "Menu tree is empty"
+#~ msgstr "Цэсийн мод хоосон байна"
+
+#~ msgid "- test MATE's implementation of the Desktop Menu Specification"
+#~ msgstr "- MATE-н Desktop Menu Specification програмчилалыг шалгах"
diff --git a/po/mr.po b/po/mr.po
new file mode 100644
index 0000000..fe3d644
--- /dev/null
+++ b/po/mr.po
@@ -0,0 +1,274 @@
+# translation of mr.po to Marathi
+# Marathi Translation of mate-menus
+# Copyright (C) 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+# This file is distributed under the same license as the mate-menus package.
+#
+# FIRST AUTHOR: Gayatri Deshpande <[email protected]>, 2005.
+# Rahul Bhalerao <[email protected]>, 2006.
+# Sandeep Shedmake <[email protected]>, 2008, 2009.
+# Sandeep Shedmake <[email protected]>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: mr\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n"
+"POT-Creation-Date: 2009-06-21 17:35+0000\n"
+"PO-Revision-Date: 2009-09-11 19:31+0530\n"
+"Last-Translator: Sandeep Shedmake <[email protected]>\n"
+"Language-Team: Marathi <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "मल्टीमिडीया मेन्यू"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "आवाज व चलचित्र"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "प्रोग्रामिंग"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "सॉफ्टवेयर बनवण्यासाटीचे औजार"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "शिक्षण"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "खेळ"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "खेळ व मनोरंजन"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "चित्र-विज्ञान"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "चित्र-विज्ञान उपकरणं"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "हार्डवेअर"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "विविध हार्डवेअर साधन करीता संयोजना"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "महाजाळ व संजाळ"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "संजाळ-संबंधी संयोजना"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "दृश्य व प्रभाव"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "डेस्कटॉप दृश्य व वागणूक नियंत्रीत करणारी संयोजना"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "इंटरनेट"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "इंटरनेट वेब व ईमेल बघण्यासाठी प्रोग्राम"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "कार्यालय"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "कार्यालय संबंधित उपकरणं"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "व्यक्तिगत"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "व्यक्तिगत संयोजना"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "व्यवथापन"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "प्रणाली-करीताचे संयोजना बदलवा (सर्व वापरकर्ते प्रभावीत होतात)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "व्यक्तिगत प्राधान्यता"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "प्राधान्ये"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "प्रणाली"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "प्रणाली संयोजना"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "यंत्रणे संबंधित औजार"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "यंत्रणेचे सुसुत्रीकरण व संचलन"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "जागतीक प्रवेश"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "जागतीक प्रवेश संयोजना"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "शिवाय उपकरणं"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "डेस्कटॉपशी निगडित शिवाय उपकरणं"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "उपकरणं"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "व्यक्तिगत प्राधान्यता व प्रशासकीय रचना"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "उपकरणं जे दुसरया कुठल्याही गटांत बसले नाही"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "अन्य"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "मेन्यू संपादक"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "मेन्यू संपादा"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "उपकरणं (_A):"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "पूर्वनिर्धारीत (_D)"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "मेन्यूज् (_M):"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+#| msgid "Menu Editor"
+msgid "Simple Menu Editor %s"
+msgstr "सोपे मेन्यू संपादक %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "शिर्षक"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "दाखवा"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"गृह निर्देशिका शोधता आली नाही: /etc/passwd निर्धारित नाही आणि $HOME या चलनासाठी "
+"पर्यावरणात मुल्य नाही"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "मेन्यू फाइल"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "मेन्यूमधील बदलांसाठी निरिक्षक"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "<Exclude>केलेली प्रविष्टे समाविष्ट करा"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "NoDisplay=true प्रविष्टे समाविष्ट करा"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "अवैध कार्यस्थळ फाइल आयडी"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[अवैध फाइलनाम]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <वगळले>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== मेन्यू बदलला, पुनःलोड होत आहे ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "मेन्यू वृक्ष रिकामे आहे"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- MATE चा कार्यस्थळ मेन्यू नोंदींचा अवलंब तपासा"
+
diff --git a/po/ms.po b/po/ms.po
new file mode 100644
index 0000000..637ce94
--- /dev/null
+++ b/po/ms.po
@@ -0,0 +1,2260 @@
+# mate-menu Bahasa Melayu (ms)
+#
+# Hasbullah Bin Pit (sebol) <[email protected]>, 2004
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menu HEAD\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2005-01-10 17:49+0000\n"
+"PO-Revision-Date: 2004-08-09 21:51+0730\n"
+"Last-Translator: Hasbullah Bin Pit <[email protected]>\n"
+"Language-Team: ms <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: desktop-directories/Accessibility.directory.in.h:1
+#: desktop-directories/Settings-Accessibility.directory.in.h:1
+msgid "Accessibility"
+msgstr "Kebolehcapaian"
+
+#: desktop-directories/Accessibility.directory.in.h:2
+msgid "Accessibility Settings"
+msgstr "Tetapan Kebolehcapaian"
+
+#: desktop-directories/Accessories.directory.in.h:1
+msgid "Accessories"
+msgstr "Aksesori"
+
+#: desktop-directories/Accessories.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Aksesori Desktop"
+
+#: desktop-directories/Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Aplikasi"
+
+#: desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Pengaturcaraan"
+
+#: desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Alatan untuk pembangunan perisian"
+
+#: desktop-directories/Edutainment.directory.in.h:1
+msgid "Edutainment"
+msgstr "Infodidik"
+
+#: desktop-directories/Games.directory.in.h:1
+msgid "Games"
+msgstr "Permainan"
+
+#: desktop-directories/Games.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Permainan dan hiburan"
+
+#: desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafik"
+
+#: desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Aplikasi Grafik"
+
+#: desktop-directories/Internet.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: desktop-directories/Internet.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Program untuk mengakses Internet seperti web dan emel"
+
+#: desktop-directories/Multimedia.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Menu Multimedia"
+
+#: desktop-directories/Multimedia.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Bunyi & Video"
+
+#: desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Pejabat"
+
+#: desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Aplikasi Pejabat"
+
+#: desktop-directories/Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Aplikasi yang tak sesuai bagi kategori lain"
+
+#: desktop-directories/Other.directory.in.h:2
+msgid "Other"
+msgstr "Lain-lain"
+
+#: desktop-directories/Settings-Accessibility.directory.in.h:2
+msgid "Accessibility related preferences"
+msgstr "Keutamaan berkaitan kebolahcapaian"
+
+#: desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences and settings"
+msgstr "Tetapan dan keutamaan peribadi"
+
+#: desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Keutamaan"
+
+#: desktop-directories/System-Settings.directory.in.h:1
+#, fuzzy
+msgid "Administration"
+msgstr "Orientasi"
+
+#: desktop-directories/System-Settings.directory.in.h:2
+msgid "Change systemwide settings (affects all users)"
+msgstr "Tukar tetapan seluruh sistem (melibatkan semua pengguna)"
+
+#: desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Alatan Sistem"
+
+#: desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Konfigurasi dan monitor sistem"
+
+#~ msgid "System Settings"
+#~ msgstr "Tetapan Sistem"
+
+#~ msgid "Ad_just Date & Time"
+#~ msgstr "_Betulkan Tarikh & Masa"
+
+#~ msgid "Copy _Date"
+#~ msgstr "Salin _Tarikh"
+
+#~ msgid "Copy _Time"
+#~ msgstr "Salin _Masa"
+
+#~ msgid "_About"
+#~ msgstr "_Perihal"
+
+#~ msgid "_Help"
+#~ msgstr "_Bantuan"
+
+#~ msgid "Clock"
+#~ msgstr "Jam"
+
+#~ msgid "Clock Applet Factory"
+#~ msgstr "Kilang Aplet Jam"
+
+#~ msgid "Factory for creating clock applets."
+#~ msgstr "kilang untuk mencipta aplet jam"
+
+#~ msgid "Get the current time and date"
+#~ msgstr "Dapatkan masa dan tarikh semasa"
+
+#~ msgid "%l:%M:%S %p"
+#~ msgstr "%l:%M:%S %p"
+
+#~ msgid "%l:%M %p"
+#~ msgstr "%l:%M %p"
+
+#~ msgid "%H:%M:%S"
+#~ msgstr "%H:%M:%S"
+
+#~ msgid "%H:%M"
+#~ msgstr "%H:%M"
+
+#~ msgid "%a %b %e"
+#~ msgstr "%a %e %b"
+
+#~ msgid ""
+#~ "%1$s\n"
+#~ "%2$s"
+#~ msgstr ""
+#~ "%1$s\n"
+#~ "%2$s"
+
+#~ msgid "%1$s, %2$s"
+#~ msgstr "%1$s, %2$s"
+
+#~ msgid "%A %B %d"
+#~ msgstr "%A %e %B"
+
+#~ msgid "%b %d"
+#~ msgstr "%d %b"
+
+#~ msgid "Tasks"
+#~ msgstr "Tugas"
+
+#~ msgid "All Day"
+#~ msgstr "Sepanjang Hari"
+
+#~ msgid "Appointments"
+#~ msgstr "Temujanji"
+
+#~ msgid "Calendar"
+#~ msgstr "Kalendar"
+
+#~ msgid "Computer Clock"
+#~ msgstr "Jam Komputer"
+
+#~ msgid "%I:%M:%S %p"
+#~ msgstr "%l:%M:%S %p"
+
+#~ msgid "%I:%M %p"
+#~ msgstr "%I:%M %p"
+
+#~ msgid "%A, %B %d %Y"
+#~ msgstr "%A, %d %B %Y"
+
+#~ msgid "Failed to launch time configuration tool: %s"
+#~ msgstr "Gagal mmelancarkan radas konfigurasi:%s"
+
+#~ msgid ""
+#~ "Failed to locate a program for configuring the date and time. Perhaps "
+#~ "none is installed?"
+#~ msgstr ""
+#~ "Gagal menjumpai program untuk mengkonfigurasi tarikh dan masa. Mungkin "
+#~ "tak dipasang?"
+
+#~ msgid "Custom format"
+#~ msgstr "Format Tersendiri"
+
+#~ msgid "There was an error displaying help: %s"
+#~ msgstr "Terdapat ralat memapar bantuan: %s"
+
+#~ msgid "Clock Preferences"
+#~ msgstr "Keutamaan Jam"
+
+#~ msgid "Clock _type:"
+#~ msgstr "_Jenis jam:"
+
+#~ msgid "12 hour"
+#~ msgstr "12 jam"
+
+#~ msgid "24 hour"
+#~ msgstr "24 jam"
+
+#~ msgid "UNIX time"
+#~ msgstr "Masa UNIX"
+
+#~ msgid "Custom _format:"
+#~ msgstr "_Format tersendiri:"
+
+#~ msgid "Show _seconds"
+#~ msgstr "Papar _saat"
+
+#~ msgid "Show _date"
+#~ msgstr "Papar _tarikh"
+
+#~ msgid "Use _UTC"
+#~ msgstr "Guna _UTC"
+
+#~ msgid "translator-credits"
+#~ msgstr "Hasbullah Bin Pit <[email protected]>, Merlimau. 2002-2004"
+
+#~ msgid "The Clock displays the current time and date"
+#~ msgstr "Jam memapar masa dan tarikh semasa"
+
+#~ msgid "24"
+#~ msgstr "24"
+
+#~ msgid "24-hour"
+#~ msgstr "24-hour"
+
+#~ msgid "Custom format of the clock"
+#~ msgstr "Format tersendiri bagi jam"
+
+#~ msgid "Hour format"
+#~ msgstr "Format Jam"
+
+#~ msgid "If true, display date in the clock, in addition to time."
+#~ msgstr "Jika benar, papar tarikh pada Jam, sebagai tambahan kepada masa."
+
+#~ msgid "If true, display seconds in time."
+#~ msgstr "Jika benar, Papar saat pada masa."
+
+#~ msgid "If true, display time in Universal Coordinated Time zone."
+#~ msgstr "Jika benar, papar masa dalam Zon Masa Koordinat Universal (UTC)"
+
+#~ msgid "If true, show date in a tooltip when the pointer is over the clock."
+#~ msgstr "Jika benar, papar tarikh pada tooltip bila tetikus di atas Jam."
+
+#~ msgid "Show date in clock"
+#~ msgstr "Papar tarikh pada jam"
+
+#~ msgid "Show date in tooltip"
+#~ msgstr "Papar tarikh di tooltip"
+
+#~ msgid "Show time with seconds"
+#~ msgstr "Papar masa bersama saat"
+
+#~ msgid ""
+#~ "The use of this key was deprecated in MATE 2.6 in favour of the 'format' "
+#~ "key. The schema is retained for compatibility with older versions."
+#~ msgstr ""
+#~ "Kegunaan kekunci ini telah ditiadakan pada MATE 2.6 in favour of the "
+#~ "'format' key. The schema is retained for compatibility with older "
+#~ "versions."
+
+#~ msgid ""
+#~ "This key specifies the program to run in order to configure the time."
+#~ msgstr "Kekunci menyatakan program dilaksanakan untuk mengkonfigurasi masa."
+
+#~ msgid "Use Internet time"
+#~ msgstr "Guna Masa Internet"
+
+#~ msgid "Use UNIX time"
+#~ msgstr "Guna masa UNIX"
+
+#~ msgid "Use UTC"
+#~ msgstr "Guna UTC"
+
+#~ msgid "Display a swimming fish or another animated creature"
+#~ msgstr "Papar ikan berenang atau makhluk bergerak lain"
+
+#~ msgid "Fish"
+#~ msgstr "Ikan"
+
+#~ msgid "From Whence That Stupid Fish Came"
+#~ msgstr "Daripada mana ikan bodoh itu datang"
+
+#~ msgid "Wanda Factory"
+#~ msgstr "Kilang Wanda"
+
+#~ msgid ""
+#~ "Warning: The command appears to be something actually useful.\n"
+#~ "Since this is a useless applet, you may not want to do this.\n"
+#~ "We strongly advise you against using %s for anything\n"
+#~ "which would make the applet \"practical\" or useful."
+#~ msgstr ""
+#~ "Amaran: arahan nampaknya menjadi sesuatu yang berguna.\n"
+#~ "Oleh kerana ini adalah aplet tak berguna, anda tak perlu melakukannya.\n"
+#~ "Kami menasihatkan anda menolak penggunaan %s untuk apa-apa\n"
+#~ "yang mana menjadikan aplet \"praktikal\" atau berguna."
+
+#~ msgid "%s the Fish"
+#~ msgstr "Ikan %"
+
+#~ msgid ""
+#~ "%s has no use what-so-ever. It only takes up disk space and compilation "
+#~ "time, and if loaded it also takes up precious panel space and memory. If "
+#~ "anyone is found using it, he should be promptly sent for a psychiatric "
+#~ "evaluation."
+#~ msgstr ""
+#~ "%s ini tiada gunanya. Ianya hanya mengambil ruang cakera dan masa "
+#~ "pengkompilan, dan jika ianya dimuatkan ia juga mengambil ruang berharga "
+#~ "panel dan memori Jika sesiapa didapati menggunakan aplet ini, dia patut "
+#~ "diperiksa oleh pakar sakit jiwa."
+
+#~ msgid "(with minor help from George)"
+#~ msgstr "(dengan sedikit bantuan George)"
+
+#~ msgid "%s the Fish, a contemporary oracle"
+#~ msgstr "Ikan MATE %s , peramal kontemporari"
+
+#~ msgid "Unable to locate the command to execute"
+#~ msgstr "Tak menjumpai arahan untuk dilaksanakan"
+
+#~ msgid "%s the Fish Says:"
+#~ msgstr "%s Ikan MATE Berkata:"
+
+#~ msgid ""
+#~ "Unable to read output from command\n"
+#~ "\n"
+#~ "Details: %s"
+#~ msgstr ""
+#~ "Tak dapat membaca output drpd arahan\n"
+#~ "\n"
+#~ "Perincian: %s"
+
+#~ msgid ""
+#~ "Unable to execute '%s'\n"
+#~ "\n"
+#~ "Details: %s"
+#~ msgstr ""
+#~ "Tak dapat melaksanakan '%s'\n"
+#~ "\n"
+#~ "Perincian: %s"
+
+#~ msgid ""
+#~ "Unable to read from '%s'\n"
+#~ "\n"
+#~ "Details: %s"
+#~ msgstr ""
+#~ "Tak dapat membaca daripada '%s'\n"
+#~ "\n"
+#~ "Perincian: %s"
+
+#~ msgid ""
+#~ "The water needs changing!\n"
+#~ "(Look at today's date)"
+#~ msgstr ""
+#~ "Perairan memerlukan reformasi!\n"
+#~ "(lihat tarikh hari ini)"
+
+#~ msgid "%s the Fish, the fortune teller"
+#~ msgstr "Ikan %s, penilik nasib"
+
+#~ msgid " "
+#~ msgstr " "
+
+#~ msgid "*"
+#~ msgstr "*"
+
+#~ msgid "<b>Animation</b>"
+#~ msgstr "<b>Animasi</b>"
+
+#~ msgid "<b>General</b>"
+#~ msgstr "<b>Umum</b>"
+
+#~ msgid "Browse"
+#~ msgstr "Lungsur"
+
+#~ msgid "Co_mmand to run when clicked:"
+#~ msgstr "_Arahan dilaksanakan bila diklik:"
+
+#~ msgid "Fish Preferences"
+#~ msgstr "Keutamaan Ikan"
+
+#~ msgid "_File:"
+#~ msgstr "_Fail:"
+
+#~ msgid "_Name of fish:"
+#~ msgstr "_Nama ikan:"
+
+#~ msgid "_Pause per frame:"
+#~ msgstr "_Kaku per kerangka:"
+
+#~ msgid "_Rotate on vertical panels"
+#~ msgstr "_Kilas pada panel menegak"
+
+#~ msgid "_Total frames in animation:"
+#~ msgstr "_Jumlah kerangka pada animasi:"
+
+#~ msgid "seconds"
+#~ msgstr "saat"
+
+#~ msgid ""
+#~ "A fish without a name is a pretty dull fish. Bring your fish to life by "
+#~ "naming him."
+#~ msgstr ""
+#~ "Ikan tanpa nama adalah ikan yg membosankan. Berikan erti kehidupan "
+#~ "padanya dengan menamakanya."
+
+#~ msgid "Command to execute on click"
+#~ msgstr "Arahan untuk dilaksanakan bila diklik"
+
+#~ msgid "Frames in fish's animation"
+#~ msgstr "Kerangka pada animasi ikan"
+
+#~ msgid ""
+#~ "If true, the fish's animation will be displayed rotated on vertical "
+#~ "panels."
+#~ msgstr "Jika benar, animasi ikan akan dipaparkan dikilas pada panel menegak"
+
+#~ msgid "Pause per frame"
+#~ msgstr "Hentian per kerangka"
+
+#~ msgid "Rotate on vertical panels"
+#~ msgstr "Kilas pada panel menegak"
+
+#~ msgid "The fish's animation pixmap"
+#~ msgstr "Pixmap animasi ikan"
+
+#~ msgid "The fish's name"
+#~ msgstr "Nama ikan"
+
+#~ msgid ""
+#~ "This key specifies the command that will be tried to execute when the "
+#~ "fish is clicked."
+#~ msgstr ""
+#~ "Kekunci ini menyatakan arahan yang akan cuba dilaksanakan bila ikan di "
+#~ "klik."
+
+#~ msgid ""
+#~ "This key specifies the filename of the pixmap which will be used for the "
+#~ "animation displayed in the fish applet relative to the pixmap directory."
+#~ msgstr ""
+#~ "Kekunci ini menyatakan namafail bagi pixmap dimana akan digunakan bagi "
+#~ "animasi yg dipaparkan pada plat ikan relatif ke direktori pixmap."
+
+#~ msgid ""
+#~ "This key specifies the number of frames that will be displayed in the "
+#~ "fish's animation."
+#~ msgstr ""
+#~ "Kekunci ini menyatakan bilangan kerangka yang akan dipaparkan pada "
+#~ "animasi ikan."
+
+#~ msgid ""
+#~ "This key specifies the number of seconds each frame will be displayed."
+#~ msgstr ""
+#~ "Kekunci ini menyatakan bilangan saat setiap kerangkan akan dipaparkan."
+
+#~ msgid "Area where notification icons appear"
+#~ msgstr "Kawasan di mana ikon pemakluman muncul"
+
+#~ msgid "Notification Area"
+#~ msgstr "Kawasan Pemakluman"
+
+#~ msgid "Notification Area Factory"
+#~ msgstr "Kilang Kawasan Pemakluman"
+
+#~ msgid "The orientation of the tray."
+#~ msgstr "Orientasi bagi dulang."
+
+#~ msgid "Panel Notification Area"
+#~ msgstr "Kawasan Pemakluman Panel"
+
+#~ msgid "Factory for the window navigation related applets"
+#~ msgstr "kilang untuk navigasi tetingkap berkaitan aplet"
+
+#~ msgid "Hide application windows and show the desktop"
+#~ msgstr "Sembunyi tetingkap aplikasi dan papar desktop"
+
+#~ msgid "Show Desktop"
+#~ msgstr "Papar Desktop"
+
+#~ msgid "Switch between open windows"
+#~ msgstr "Tukar antara tetingkap dibuka"
+
+#~ msgid "Switch between workspaces"
+#~ msgstr "Tukar antara ruangkerja"
+
+#~ msgid "Window List"
+#~ msgstr "Senarai Tetingkap"
+
+#~ msgid "Window Navigation Applet Factory"
+#~ msgstr "Kilang Aplet Navigasi Tetingkap"
+
+#~ msgid "Window Selector"
+#~ msgstr "Pemilih Tetingkap"
+
+#~ msgid "Workspace Switcher"
+#~ msgstr "Penukar RuangKerja"
+
+#~ msgid "Click here to restore hidden windows."
+#~ msgstr "Klik sini untuk mengembalikan tetingkap tersembunyi."
+
+#~ msgid "Click here to hide all windows and show the desktop."
+#~ msgstr "Klik sini untuk sembunyi semua tetingkap dan papar desktop."
+
+#~ msgid "Failed to load %s: %s\n"
+#~ msgstr "Gagal memuatkan %s: %s\n"
+
+#~ msgid "File not found"
+#~ msgstr "Fail tidak dijumpai"
+
+#~ msgid "Show Desktop Button"
+#~ msgstr "Papar Butang Desktop"
+
+#~ msgid "This button lets you hide all windows and show the desktop."
+#~ msgstr ""
+#~ "Butang ini membolehkan anda sembunyi semua tetingkap dan papar desktop."
+
+#~ msgid ""
+#~ "Your window manager does not support the show desktop button, or you are "
+#~ "not running a window manager."
+#~ msgstr ""
+#~ "Pengurus tetingkap anda tak menyokong butang papar desktop, atau anda tak "
+#~ "melaksanakan pengurus tetingkap."
+
+#~ msgid "Workspace List"
+#~ msgstr "Senarai RuangKerja"
+
+#~ msgid ""
+#~ "The Window List shows a list of all windows and lets you browse them."
+#~ msgstr ""
+#~ "Senarai Tetingkap memaparkan senarai bagi semua tetingkap dan membolehkan "
+#~ "anda melihatnya."
+
+#~ msgid "<b>Restoring Minimized Windows</b>"
+#~ msgstr "<b>Memulih Tetingkap diminiatur</b>"
+
+#~ msgid "<b>Window Grouping</b>"
+#~ msgstr "<b>Pengumpulan tetingkap</b>"
+
+#~ msgid "<b>Window List Content</b>"
+#~ msgstr "<b>Kandungan Senarai Tetingkap</b>"
+
+#~ msgid "<b>Window List Size</b>"
+#~ msgstr "<b>Saiz Senarai Tetingkap</b>"
+
+#~ msgid "Behavior"
+#~ msgstr "Kelakuan"
+
+#~ msgid "Group windows when _space is limited"
+#~ msgstr "Kumpulkan tetingkap bila _ruang terhad"
+
+#~ msgid "M_inimum size:"
+#~ msgstr "Saiz m_inimum:"
+
+#~ msgid "Ma_ximum size:"
+#~ msgstr "Saiz ma_ksimum:"
+
+#~ msgid "Restore to current _workspace"
+#~ msgstr "Pulihkan ke _ruangkerja semasa"
+
+#~ msgid "Restore to na_tive workspace"
+#~ msgstr "Pulihkanke ruangkerja na_tif"
+
+#~ msgid "Sh_ow windows from current workspace"
+#~ msgstr "_Papar tetingkap dari ruangkerja semasa"
+
+#~ msgid "Show windows from a_ll workspaces"
+#~ msgstr "Papar tetingkap dari _semua ruangkerja"
+
+#~ msgid "Size"
+#~ msgstr "Saiz"
+
+#~ msgid "Window List Preferences"
+#~ msgstr "Keutamaan Senarai Tetingkap"
+
+#~ msgid "_Always group windows"
+#~ msgstr "Se_ntiasa kumpul tetingkap"
+
+#~ msgid "_Never group windows"
+#~ msgstr "_Jangan kumpul tetingkap"
+
+#~ msgid "pixels"
+#~ msgstr "piksel"
+
+#~ msgid ""
+#~ "Decides when to group windows from the same application on the window "
+#~ "list. Possible values are \"never\", \"auto\" and \"always\"."
+#~ msgstr ""
+#~ "Menentukan bila mengumpulkan tetingkap dari aplikasi sama pada senarai "
+#~ "tetingkap. Nilai yang sah adalah \"tidak sekali\", \"auto\" dan \"sentiasa"
+#~ "\"."
+
+#~ msgid ""
+#~ "If true, the window list will show windows from all workspaces. Otherwise "
+#~ "it will only display windows from the current workspace."
+#~ msgstr ""
+#~ "Jika ia benar, senarai tetingkap akan memapar tetingkap dari semua "
+#~ "ruangkerja. Sebaliknya ia akan memapar tetingkap dari ruangkerja semasa ."
+
+#~ msgid ""
+#~ "If true, then when unminimizing a window, move it to the current "
+#~ "workspace. Otherwise, switch to the workspace of the window."
+#~ msgstr ""
+#~ "Jika benar, bila nyahminimum tetingkap, membawanya ke ruangkerja semasa. "
+#~ "Sebaliknya, bertukar ke ruangkerja bagi tetingkap."
+
+#~ msgid "Maximum window list size"
+#~ msgstr "Saiz maksimum senarai tetingkap"
+
+#~ msgid "Minimum window list size"
+#~ msgstr "Saiz minimum senarai tetingkap"
+
+#~ msgid "Move windows to current workspace when unminimized"
+#~ msgstr "Pindahkan tetingkap ke ruangkerja semasa bila nyahminima"
+
+#~ msgid "Show windows from all workspaces"
+#~ msgstr "Papar tetingkap dari semua ruangkerja"
+
+#~ msgid ""
+#~ "This key specifies the maximum width that the window list requests. The "
+#~ "maximum width setting is useful to limit the size of the window list in "
+#~ "large panels, where the window list could fill the entire space available."
+#~ msgstr ""
+#~ "Nilai ini adalah nilai lebar maksimum yang senarai tetingkap akan pinta. "
+#~ "Tetapan lebar maksimum ini berguna untuk menghadkan saiz senarai "
+#~ "tetingkap pada panel besar, dimana senarai tetingkap boleh memenuhkan "
+#~ "keseluruhan ruang yang ada."
+
+#~ msgid "This key specifies the minimum width that the window list requests."
+#~ msgstr ""
+#~ "Kekunci ini menyatakan saiz minimum yang senarai tetingkap akan pinta."
+
+#~ msgid "When to group windows"
+#~ msgstr "Bila mengumpul tetingkap"
+
+#~ msgid "Workspace Selector"
+#~ msgstr "Pemilih RuangKerja"
+
+#~ msgid ""
+#~ "The Window Selector shows a list of all windows and lets you browse them."
+#~ msgstr ""
+#~ "Pemilih Tetingkap memaparkan senarai semua tetingkap dan membolehkan anda "
+#~ "melihatnya."
+
+#~ msgid "Unknown Window"
+#~ msgstr "Tetingkap tak dikenali"
+
+#~ msgid "No Windows Open"
+#~ msgstr "Tiada Tetingkap Dibuka"
+
+#~ msgid "Tool to switch between windows"
+#~ msgstr "Alat unruk beralih dinatara tetingkap"
+
+#~ msgid "rows"
+#~ msgstr "baris"
+
+#~ msgid "columns"
+#~ msgstr "kolum"
+
+#~ msgid "Error loading num_rows value for Workspace Switcher: %s\n"
+#~ msgstr "Ralat memuatkan nilai num_rows bagi Penukar Ruangkerja: %s\n"
+
+#~ msgid ""
+#~ "Error loading display_workspace_names value for Workspace Switcher: %s\n"
+#~ msgstr ""
+#~ "Ralat memuatkan nilai display_workspace_names bagi Penukar Ruangkerja: %"
+#~ "s\n"
+
+#~ msgid ""
+#~ "Error loading display_all_workspaces value for Workspace Switcher: %s\n"
+#~ msgstr ""
+#~ "Ralat memuatkan nilai display_all_workspaces bagi Penukar Ruangkerja: %s\n"
+
+#~ msgid ""
+#~ "The Workspace Switcher shows you a small version of your workspaces that "
+#~ "lets you manage your windows."
+#~ msgstr ""
+#~ "Penukar RuangKerja memaparkan anda versi kecil ruangkerja anda yang "
+#~ "membolehkan anda mengurus tetingkap."
+
+#~ msgid "<b>Switcher</b>"
+#~ msgstr "<b>Penukar</b>"
+
+#~ msgid "<b>Workspaces</b>"
+#~ msgstr "<b>RuangKerja</b>"
+
+#~ msgid "Number of _workspaces:"
+#~ msgstr "Bilangan antara _ruangkerja:"
+
+#~ msgid "Show _all workspaces in:"
+#~ msgstr "Papar _semua ruangkerja pada:"
+
+#~ msgid "Show _only the current workspace"
+#~ msgstr "Papar _hanya ruangkerja semasa"
+
+#~ msgid "Show workspace _names in switcher"
+#~ msgstr "Papar _nama ruangkerja pada penukar"
+
+#~ msgid "Workspace Names"
+#~ msgstr "Nama RuangKerja"
+
+#~ msgid "Workspace Switcher Preferences"
+#~ msgstr "Keutamaan Penukar RuangKerja"
+
+#~ msgid "Workspace na_mes:"
+#~ msgstr "_Nama RuangKerja"
+
+#~ msgid "Display all workspaces"
+#~ msgstr "Papar semua ruangkerja"
+
+#~ msgid "Display workspace names"
+#~ msgstr "Papar nama ruangkerja"
+
+#~ msgid ""
+#~ "If true, the workspace switcher will show all workspaces. Otherwise it "
+#~ "will only show the current workspace."
+#~ msgstr ""
+#~ "Jika ia benar, penukar ruangkerja akan memapar semua ruangkerja. "
+#~ "Sebaliknya ia akan hanya memapar ruangkerja semasa."
+
+#~ msgid ""
+#~ "If true, the workspaces in the workspace switcher will display the names "
+#~ "of the workspaces. Otherwise they will display the windows on the "
+#~ "workspace."
+#~ msgstr ""
+#~ "Jika ia benar, ruangkerja pada penukar ruangkerja akan memaparkan nama "
+#~ "bagi ruangkerja. Sebaliknya akan memapar tetingkap pada ruangkerja"
+
+#~ msgid "Rows in workspace switcher"
+#~ msgstr "Baris pada penukar ruangkerja"
+
+#~ msgid ""
+#~ "This key specifies how many rows (for horizontal layout) or columns (for "
+#~ "vertical layout) the workspace switcher shows the workspaces in. This key "
+#~ "is only relevant if the display_all_workspaces key is true."
+#~ msgstr ""
+#~ "Kekunci ini menyatakan berapa banyak baris (bagi susunatur mengufuk) atau "
+#~ "kolum (bagi susunatur menegak) penukar ruangkerja yang mepaparkan ruang "
+#~ "kerja di dalamnya. Kekunci ini releven jika kekunci "
+#~ "display_all_workspaces adalah benar."
+
+#~ msgid "MATE Panel Shell"
+#~ msgstr "Shell Utama MATE"
+
+#~ msgid "_Lock"
+#~ msgstr "_Kunci"
+
+#~ msgid "_Move"
+#~ msgstr "_Pindah"
+
+#~ msgid "_Remove From Panel"
+#~ msgstr "_Buang Daripada Panel"
+
+#~ msgid "Un_lock"
+#~ msgstr "_NyahKunci"
+
+#~ msgid "???"
+#~ msgstr "[entah]"
+
+#~ msgid "Can't find an empty spot"
+#~ msgstr "Tidak dapat mencari slot kosong"
+
+#~ msgid "Failed to load image %s"
+#~ msgstr "Gagal memuatkan imej %s"
+
+#~ msgid "none"
+#~ msgstr "tiada"
+
+#~ msgid "file not found"
+#~ msgstr "fail tidak dijumpai"
+
+#~ msgid "Drawer"
+#~ msgstr "Laci"
+
+#~ msgid "_Properties"
+#~ msgstr "_Ciri-ciri"
+
+#~ msgid "Create new file in the given directory"
+#~ msgstr "Cipta fail baru pada direktori diberi"
+
+#~ msgid "Cannot save launcher to disk"
+#~ msgstr "Tak dapat menyimpan pelancar ke cakera"
+
+#~ msgid "Cannot launch icon"
+#~ msgstr "Tak dapat melancarkan ikon"
+
+#~ msgid "This launch icon does not specify a url to show."
+#~ msgstr "Ikon pelancar ini tidak menyatakan url untuk dipapar."
+
+#~ msgid "Cannot show %s"
+#~ msgstr "Tak dapat memaparkan %s"
+
+#~ msgid "No URI provided for panel launcher desktop file\n"
+#~ msgstr "Tiada URI dibekalkan untuk fail desktop pelancar panel\n"
+
+#~ msgid "Unable to open desktop file %s for panel launcher%s%s\n"
+#~ msgstr "Tak dapat membuka fail desktop %s bagi pelancar%s%s panel\n"
+
+#~ msgid "Launcher Properties"
+#~ msgstr "Ciri-ciri Pelancar"
+
+#~ msgid "Key %s is not set, can't load launcher\n"
+#~ msgstr "Kekunci %s tidak ditetapkan, tak dpaat memuatkan pelancar\n"
+
+#~ msgid "Cannot create launcher"
+#~ msgstr "Tak dapat mencipta pelancar."
+
+#~ msgid "You have to specify a name."
+#~ msgstr "Anda mesti nyatakan satu nama."
+
+#~ msgid "You have to specify a valid URL or command."
+#~ msgstr "Anda mesti nyatakan URL atau arahan yang sah."
+
+#~ msgid "Create Launcher"
+#~ msgstr "Cipta Pelancar"
+
+#~ msgid "Cannot save changes to launcher"
+#~ msgstr "Tak dapat menyimpan perubahan pada pelancar"
+
+#~ msgid "Menu"
+#~ msgstr "Menu"
+
+#~ msgid "Cannot save menu item to disk"
+#~ msgstr "Tak dapat menyimpan item menu ke cakera"
+
+#~ msgid ""
+#~ "You can not create a new launcher at this location since the location is "
+#~ "not writable."
+#~ msgstr ""
+#~ "Anda tak boleh mencipta pelancar baru pada lokasi ini kerana lokasi tidak "
+#~ "boleh ditulis."
+
+#~ msgid "And many, many others..."
+#~ msgstr "Dan banyak lagi yang lain..."
+
+#~ msgid "The MATE Panel"
+#~ msgstr "Panel MATE"
+
+#~ msgid ""
+#~ "This program is responsible for launching other applications and "
+#~ "embedding small applets within itself."
+#~ msgstr ""
+#~ "Program ini bertanggungjawap untuk melancarkan aplikasi lain, aplet kecil "
+#~ "embeded didalam dirinya."
+
+#~ msgid "Cannot execute '%s'"
+#~ msgstr "Tidak dapat melaksanakan '%s'"
+
+#~ msgid "%s: %s"
+#~ msgstr "%s: %s"
+
+#~ msgid "About MATE"
+#~ msgstr "Perihal MATE"
+
+#~ msgid "Cannot launch entry"
+#~ msgstr "Tak dapat melancarkan kemasukan"
+
+#~ msgid "Cannot load entry"
+#~ msgstr "Tak dapat memuatkan kemasukan"
+
+#~ msgid "Add this launcher to panel"
+#~ msgstr "Tambah pelancar ini pada panel"
+
+#~ msgid "Add this as drawer to panel"
+#~ msgstr "Tambah laci ini pada panel"
+
+#~ msgid "Add this as menu to panel"
+#~ msgstr "Tambah menu ini pada panel"
+
+#~ msgid "You cannot remove your last panel."
+#~ msgstr "Anda tak boleh buang panel terakhir"
+
+#~ msgid "_Delete This Panel..."
+#~ msgstr "Pa_dam Panel Ini..."
+
+#~ msgid "_Delete This Panel"
+#~ msgstr "Pa_dam Panel Ini"
+
+#~ msgid "_Add to Panel..."
+#~ msgstr "_Tambah ke Panel..."
+
+#~ msgid "_New Panel"
+#~ msgstr "Panel _Baru"
+
+#~ msgid "A_bout Panels"
+#~ msgstr "_Perihal Panel"
+
+#~ msgid "About _MATE"
+#~ msgstr "Perihal _MATE"
+
+#~ msgid "_Activate Screensaver"
+#~ msgstr "_Aktifkan Screensaver"
+
+#~ msgid "_Lock Screen"
+#~ msgstr "_Kunci Skrin"
+
+#~ msgid "_Kill Screensaver Daemon"
+#~ msgstr "_Bunuh Daemon Screensaver"
+
+#~ msgid "Restart _Screensaver Daemon"
+#~ msgstr "Ulanghidupkan Daemon _Screensaver"
+
+#~ msgid "Lock screen"
+#~ msgstr "Kunci skrin"
+
+#~ msgid "Protect your computer from unauthorized use"
+#~ msgstr "Lindung komputer anda daripada penggunaan yang tidak diingini"
+
+#~ msgid "Log Out"
+#~ msgstr "Log Keluar"
+
+#~ msgid ""
+#~ "Log out of this session to log in as a different user or to shut down the "
+#~ "computer"
+#~ msgstr ""
+#~ "Log keluar sesi ini untuk log masuk sebagai pengguna lain atau untuk "
+#~ "tutup komputer"
+
+#~ msgid "Run Application..."
+#~ msgstr "Laksana Aplikasi..."
+
+#~ msgid "Run an Application by entering a command"
+#~ msgstr "Laksanakan aplikasi dengan memasukkan arahan"
+
+#~ msgid "Search for Files..."
+#~ msgstr "Cari Fail..."
+
+#~ msgid "Find files, folders, and documents on your computer"
+#~ msgstr "Cari fail, folder dan dokumen pada komputer anda"
+
+#~ msgid "Take Screenshot..."
+#~ msgstr "Cekup Skrin..."
+
+#~ msgid "Take a screenshot of your desktop"
+#~ msgstr "Ambil cekupan skrin desktop anda"
+
+#~ msgid "Force Quit"
+#~ msgstr "Keluar Paksa"
+
+#~ msgid "Force a misbehaving application to quit"
+#~ msgstr "Paksa aplikasi yg berkelakuan ganjil untuk keluar"
+
+#~ msgid "Custom Application Launcher"
+#~ msgstr "Pelancar Aplikasi Tersendiri"
+
+#~ msgid "Create a new launcher"
+#~ msgstr "Cipta pelancar baru"
+
+#~ msgid "Application Launcher..."
+#~ msgstr "Pelancar Aplikasi..."
+
+#~ msgid "Launch a program that is already in the MATE menu"
+#~ msgstr "Lancar program yang sedia ada di menu MATE"
+
+#~ msgid "Main Menu"
+#~ msgstr "Menu Utama"
+
+#~ msgid "The main MATE menu"
+#~ msgstr "Menu utama MATE"
+
+#~ msgid "Menu Bar"
+#~ msgstr "Bar Menu"
+
+#~ msgid "A custom menu bar"
+#~ msgstr "Bar menu tersendiri"
+
+#~ msgid "(empty)"
+#~ msgstr "(kosong)"
+
+#~ msgid "query returned exception %s\n"
+#~ msgstr "kueri mengembalikan pengecualian %s\n"
+
+#~ msgid "Add to %s"
+#~ msgstr "Tambah ke %s"
+
+#~ msgid "Add to the panel"
+#~ msgstr "Tambah ke panel"
+
+#~ msgid "Select an _item to add to %s:"
+#~ msgstr "Pilih satu _item untuk ditambah ke %s:"
+
+#~ msgid "Select an _item to add to the panel:"
+#~ msgstr "Pilih satu _item untuk ditambah ke panel:"
+
+#~ msgid "Exception from popup_menu '%s'\n"
+#~ msgstr "Pengecualian dari popup_menu '%s'\n"
+
+#~ msgid "\"%s\" has quit unexpectedly"
+#~ msgstr "\"%s\" telah keluar tanpa diduga"
+
+#~ msgid "Panel object has quit unexpectedly"
+#~ msgstr "Objek panel keluar tanpa diduga"
+
+#~ msgid ""
+#~ "If you reload a panel object, it will automatically be added back to the "
+#~ "panel."
+#~ msgstr ""
+#~ "Jika anda ulangmuat objek panel, ia akan ditambah semula secara automatik "
+#~ "ke panel."
+
+#~ msgid "_Don't Reload"
+#~ msgstr "_Jangan Ulangmuat"
+
+#~ msgid "_Reload"
+#~ msgstr "_Ulangmuat"
+
+#~ msgid "D_on't Delete"
+#~ msgstr "Jangan Pa_dam"
+
+#~ msgid "The panel encountered a problem while loading \"%s\"."
+#~ msgstr "Panel dirundung masalah ketika memuatkan \"%s\"."
+
+#~ msgid "Details: %s"
+#~ msgstr "Perincian: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "Do you want to delete the applet from your configuration?"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "Adakah anda ingin memadam aplet drpd konfigurasi anda?"
+
+#~ msgid "Unable to obtain AppletShell interface from control\n"
+#~ msgstr "Tak boleh mendapatkan antaramuka AppletShell daripada kawalan\n"
+
+#~ msgid "Error watching mateconf key '%s': %s"
+#~ msgstr "Ralat memerhati kekunci mateconf '%s': %s"
+
+#~ msgid "Error loading mateconf directory '%s': %s"
+#~ msgstr "Ralat memuatkan direktori mateconf '%s': %s"
+
+#~ msgid "Error getting value for '%s': %s"
+#~ msgstr "Ralat mendapatkan nilai bagi '%s': %s"
+
+#~ msgid ""
+#~ "Click on a window to force the application to quit. To cancel press <ESC>."
+#~ msgstr ""
+#~ "Klik pada tetingkap untuk memaksa aplikasi keluar. Untuk membatal tekan "
+#~ "<ESC>."
+
+#~ msgid ""
+#~ "Force this application to exit?\n"
+#~ "(Any open documents will be lost.)"
+#~ msgstr ""
+#~ "Paksa aplikasi untuk keluar?\n"
+#~ "(Semua dokumen dibuka akan hilang.)"
+
+#~ msgid ""
+#~ "A list of panel IDs. Each ID identifies an individual toplevel panel. The "
+#~ "settings for each of these panels are stored in /apps/panel/toplevels/"
+#~ "$(id)."
+#~ msgstr ""
+#~ "Senarai ID panel. Setiap ID mengcam panel aras atas secara individu. "
+#~ "Tetapan bagi setiap panel ini akan disimpan di /apps/panel/toplevels/"
+#~ "$(id)."
+
+#~ msgid ""
+#~ "A list of panel applet IDs. Each ID identifies an individual panel "
+#~ "applet. The settings for each of these applets are stored in /apps/panel/"
+#~ "applets/$(id)."
+#~ msgstr ""
+#~ "Senarai ID panel. Setiap ID mengcam aplet panel secara individu. Tetapan "
+#~ "bagi setiap panel ini akan disimpan di /apps/panel/applets/$(id)."
+
+#~ msgid ""
+#~ "A list of panel object IDs. Each ID identifies an individual panel object "
+#~ "(e.g. a launcher, action button or menu button/bar). The settings for "
+#~ "each of these objects are stored in /apps/panel/objects/$(id)."
+#~ msgstr ""
+#~ "Senarai ID panel. Setiap ID mengcam objek panel secara individu (seperti "
+#~ "pelancar, butang aksi atau bar/butang menu). Tetapan bagi setiap panel "
+#~ "ini akan disimpan di /apps/panel/objects/$(id)."
+
+#~ msgid "Enable program list in \"Run Application\" dialog"
+#~ msgstr "Hidupkan senarai program pada dialog \"Laksana Aplikasi\""
+
+#~ msgid "Expand program list in \"Run Application\" dialog"
+#~ msgstr "Kembangkan senarai program pada dialog \"Laksana Aplikasi\""
+
+#~ msgid ""
+#~ "If true, the \"Known Applications\" listing in the \"Run Application\" "
+#~ "dialog is expanded when the dialog is opened. This key is only relevant "
+#~ "if the enable_program_list key is true."
+#~ msgstr ""
+#~ "Jika benar, senarai \"Aplikasi Ddikenali\" pada dialog \"Laksana Aplikasi"
+#~ "\" dikembangkan bila dialog dibuka. Kekunci ini hanya releven bila "
+#~ "kekunci enable_program_list adalah benar."
+
+#~ msgid ""
+#~ "If true, the \"Known Applications\" listing in the \"Run Application\" "
+#~ "dialog is made available. Whether or not the listing is expanded when the "
+#~ "dialog is shown is controlled by the show_program_list key."
+#~ msgstr ""
+#~ "Jika benar, senarai \"Known Applications\" pada dialog \"Run Application"
+#~ "\" akan ada. Samada senarai dikembangkan atau tak bila dialog dipaparkan "
+#~ "dikawal oleh kekunci show_program_list ."
+
+#~ msgid "Old profiles configuration migrated"
+#~ msgstr "Konfigurasi profil lama dimigrasikan"
+
+#~ msgid "Panel ID list"
+#~ msgstr "Senarai ID panel"
+
+#~ msgid "Panel applet ID list"
+#~ msgstr "Senarai ID aplet panel"
+
+#~ msgid "Panel object ID list"
+#~ msgstr "Senarai ID objek panel"
+
+#~ msgid "Animation speed"
+#~ msgstr "Kelajuan animasi"
+
+#~ msgid "Applet IIDs to disable from loading"
+#~ msgstr "IID aplet untuk dicegah drpd dimuatkan"
+
+#~ msgid "Autoclose drawer"
+#~ msgstr "Autotutup laci"
+
+#~ msgid "Complete panel lockdown"
+#~ msgstr "Penguncian panel lengkap"
+
+#~ msgid "Confirm panel removal"
+#~ msgstr "Kepastian membuang panel"
+
+#~ msgid "Disable Force Quit"
+#~ msgstr "Matikan Keluar Paksa"
+
+#~ msgid "Disable Lock Screen"
+#~ msgstr "Matikan Kunci Skrin"
+
+#~ msgid "Disable Logging Out"
+#~ msgstr "Matikan Log Keluar"
+
+#~ msgid "Display \"Run Application\" dialog keybinding"
+#~ msgstr "Papar ikatan kekunci dialog \"Laksana Aplikasi\""
+
+#~ msgid "Enable animations"
+#~ msgstr "Hidupkan animasi"
+
+#~ msgid "Enable keybindings"
+#~ msgstr "Hidupkan ikatan kekunci"
+
+#~ msgid "Enable tooltips"
+#~ msgstr "Hidupkan tooltip"
+
+#~ msgid "FIXME - is this resolved with the new menu stuff"
+#~ msgstr "FIXME - adakah ini akan diselesaikan dengan perkara menu baru"
+
+#~ msgid "FIXME - need to define limits"
+#~ msgstr "FIXME - perlu mentaksir had"
+
+#~ msgid "Highlight launchers on mouseover"
+#~ msgstr "Serlah pelancar pada mouseover"
+
+#~ msgid ""
+#~ "If true, a dialog is shown asking for confirmation if the user wants to "
+#~ "remove a panel."
+#~ msgstr ""
+#~ "Jika benar, dialog yg dipaparkan bertanya kepastian jika pengguna ingin "
+#~ "membuang panel."
+
+#~ msgid ""
+#~ "If true, a drawer will automatically be closed when the user clicks a "
+#~ "launcher in it."
+#~ msgstr ""
+#~ "Jike benar, laci akan ditutup automatik bila pengguna klik pelancar "
+#~ "padanya."
+
+#~ msgid ""
+#~ "If true, a launcher is highlighted when the user moves the pointer over "
+#~ "it."
+#~ msgstr ""
+#~ "Jika benar, pelancar akan diserlahkan bila pegguna menggerakkan puniding "
+#~ "di atasnya."
+
+#~ msgid "If true, panel-specific keybindings are enabled."
+#~ msgstr "Jika benar, ikatan kekunci spesifik-panel-specific akan dihidupkan."
+
+#~ msgid "If true, tooltips are shown for objects in panels."
+#~ msgstr "Jika benar, tooltip akan dipaparkan bagi objek di panel."
+
+#~ msgid "Popup panel menu keybinding"
+#~ msgstr "Popup Ikatan kekunci menu panel"
+
+#~ msgid "Take screenshot"
+#~ msgstr "Ambil cekupan skrin"
+
+#~ msgid "Take window screenshot"
+#~ msgstr "Ambil cekupan skrin tetingkap"
+
+#~ msgid "Actions"
+#~ msgstr "Aksi"
+
+#~ msgid "Action button type"
+#~ msgstr "Jenis butang aksi"
+
+#~ msgid "Applet MateComponent IID"
+#~ msgstr "IID MateComponent Applet"
+
+#~ msgid "Icon used for object's button"
+#~ msgstr "Ikon digunakan oleh butang objek"
+
+#~ msgid ""
+#~ "If true, the custom_icon key is used as a custom icon for the button. If "
+#~ "false, the custom_icon key is ignored. This key is only relevant if the "
+#~ "object_type key is \"menu-object\" or \"drawer-object\"."
+#~ msgstr ""
+#~ "Jika benar, kekunci custom_icon digunakan sebagai ikon tersendiri bagi "
+#~ "butang. Jika palsu, kekunci custom_icon key diabaikan. Kekunci ini hanya "
+#~ "relevan jika kekunci object_type adalah \"menu-object\" atau \"drawer-"
+#~ "object\"."
+
+#~ msgid ""
+#~ "If true, the menu_path key is used as the path from which the menu "
+#~ "contents should be constructed. If false, the menu_path key is ignored. "
+#~ "This key is only relevant if the object_type key is \"menu-object\"."
+#~ msgstr ""
+#~ "Jika benar, kekunci menu_path digunakan sebagai laluan drpd mana "
+#~ "kandungan menu akan dibina. Jike palsu, menu_path diabaikan. Tetapan ini "
+#~ "hanya relevan jika kekunci object_type adalah \"menu-object\"."
+
+#~ msgid ""
+#~ "If true, the position of the object is interpreted relative to the right "
+#~ "(or bottom if vertical) edge of the panel."
+#~ msgstr ""
+#~ "Jika benar, posisi bagi objek ditafsirkan relatif kepada kanan (atau "
+#~ "bawah jika menegak) pinggir bagi panel."
+
+#~ msgid ""
+#~ "If true, the user may not move the applet without first unlocking the "
+#~ "object using the \"Unlock\" menuitem."
+#~ msgstr ""
+#~ "Jika benar, pengguna tak boleh memindahkan aplet tanpa nyahkunci objek "
+#~ "menggunakan item menu \"Nyahkunci\"."
+
+#~ msgid "Interpret position relative to bottom/right edge"
+#~ msgstr "Tafsir posisi relatif kepada pinggir bawah/kanan"
+
+#~ msgid "Launcher location"
+#~ msgstr "Lokasi pelancar"
+
+#~ msgid "Lock the object to the panel"
+#~ msgstr "Kunci objek kepada panel"
+
+#~ msgid "Menu content path"
+#~ msgstr "Laluan kandungan menu"
+
+#~ msgid "Object's position on the panel"
+#~ msgstr "Posisi objek pada panel"
+
+#~ msgid "Panel attached to drawer"
+#~ msgstr "Panel dilampirkan pada laci"
+
+#~ msgid "Panel object type"
+#~ msgstr "Jenis objek panel"
+
+#~ msgid ""
+#~ "The MateComponent implementation ID of the applet - e.g. \"OAFIID:"
+#~ "MATE_ClockApplet\". This key is only relevant if the object_type key is "
+#~ "\"matecomponent-applet\"."
+#~ msgstr ""
+#~ "ID implementasi MateComponent bagi aplet - cth. \"OAFIID:MATE_ClockApplet\". "
+#~ "kekunci ini hanya relevan jika object_type adalah \"matecomponent-applet\"."
+
+#~ msgid ""
+#~ "The action type this button represents. Possible values are \"lock\", "
+#~ "\"logout\", \"run\", \"search\" and \"screenshot\". This key is only "
+#~ "relevant if the object_type key is \"action-applet\"."
+#~ msgstr ""
+#~ "Jenis aksi yang diwakili butang ini. Nilai yang boleh adalah \"lock\", "
+#~ "\"logout\", \"run\", \"search\" dan \"screenshot\". Kekunci ini hanya "
+#~ "relevan jika object_type adalah \"action-applet\"."
+
+#~ msgid ""
+#~ "The identifier of the panel attached to this drawer. This key is only "
+#~ "relevant if the object_type key is \"drawer-object\"."
+#~ msgstr ""
+#~ "Pengcam bagi panel dilampirkan pada laci ini. kekunci ini hanya relevan "
+#~ "jika object_type adalah \"drawer-object\"."
+
+#~ msgid "The identifier of the toplevel panel which contains this object."
+#~ msgstr "Pengcam bagi panel aras atas yang mengandungi objek ini."
+
+#~ msgid ""
+#~ "The location of the .desktop file describing the launcher. This key is "
+#~ "only relevant if the object_type key is \"launcher-object\"."
+#~ msgstr ""
+#~ "Lokasi bagi fail .desktop menerangkan pelancar. Kekunci ninihanya relevan "
+#~ "jika object_type adalah \"launcher-object\"."
+
+#~ msgid ""
+#~ "The location of the image file used as the icon for the object's button. "
+#~ "This key is only relevant if the object_type key is \"drawer-object\" or "
+#~ "\"menu-object\" and the use_custom_icon key is true."
+#~ msgstr ""
+#~ "Lokasi bagi fail imej digunakan sebagai ikon bagi butang objek. Kekunci "
+#~ "ini hanya relevan jika kekunci object_type adalah \"drawer-object\" atau "
+#~ "\"menu-object\" dan kekunci the use_custom_icon adalah benar."
+
+#~ msgid ""
+#~ "The path from which the menu contents is contructed. This key is only "
+#~ "relevant if the use_menu_path key is true and the object_type key is "
+#~ "\"menu-object\"."
+#~ msgstr ""
+#~ "Laluan drpd mana kandungan menu akan dibina. Kekunci ini hanya relevan "
+#~ "jika use_menu_path adalah benar dan object_type adalah \"menu-object\"."
+
+#~ msgid ""
+#~ "The position of this panel object. The position is specified by the "
+#~ "number of pixels from the left (or top if vertical) panel edge."
+#~ msgstr ""
+#~ "Posisi bagi objek panel ini. Posisi dinyatakan oleh bilangan piksel drpd "
+#~ "kiri (atau atas jika mengufuk) pinggir panel."
+
+#~ msgid ""
+#~ "The text to display in a tooltip for this drawer or this menu. This key "
+#~ "is only relevant if the object_type key is \"drawer-object\" or \"menu-"
+#~ "object\"."
+#~ msgstr ""
+#~ "Teks untuk dipaparkan pada tooltip bagi laci atau menu ini. Kekunci ini "
+#~ "hanya relevan jika kekunci object_type adalah \"drawer-object\" atau "
+#~ "\"menu-object\"."
+
+#~ msgid ""
+#~ "The type of this panel object. Possible values are \"drawer-object\", "
+#~ "\"menu-object\", \"launcher-object\", \"matecomponent-applet\", \"action-applet"
+#~ "\" and \"menu-bar\"."
+#~ msgstr ""
+#~ "Jenis bagi objek panel. Nilai yang boleh adalah \"drawer-object\", \"menu-"
+#~ "object\", \"launcher-object\", \"matecomponent-applet\", \"action-applet\" dan "
+#~ "\"menu-bar\"."
+
+#~ msgid "Tooltip displayed for drawer or menu"
+#~ msgstr "Tooltip dipaparkan bagi laci atau menu"
+
+#~ msgid "Toplevel panel containing object"
+#~ msgstr "Panel aras atas mengandungi objek"
+
+#~ msgid "Use custom icon for object's button"
+#~ msgstr "Guna ikon tersendiri bagi butang objek"
+
+#~ msgid "Use custom path for menu contents"
+#~ msgstr "Guna laluan sendiri bagi menu konteks"
+
+#~ msgid "Error reading MateConf string value '%s': %s"
+#~ msgstr "Ralat membaca nilai rentetan MateConf '%s': %s"
+
+#~ msgid "Error reading MateConf integer value '%s': %s"
+#~ msgstr "Ralat membaca nilai integer MateConf '%s': %s"
+
+#~ msgid ""
+#~ "Panel '%s' is set to be displayed on screen %d which is not currently "
+#~ "available. Not loading this panel."
+#~ msgstr ""
+#~ "Panel '%s' ditetapkan untuk dipaparkan pada skrin %d dimana ia tak wujud. "
+#~ "Tak memuatkan panel ini."
+
+#~ msgid "Error reading MateConf boolean value '%s': %s"
+#~ msgstr "Ralat membaca nilai boolean MateConf '%s': %s"
+
+#~ msgid "<small>Opaque</small>"
+#~ msgstr "<small>Opaque</small>"
+
+#~ msgid "<small>Transparent</small>"
+#~ msgstr "<small>Telus</small>"
+
+#~ msgid "Arro_ws on hide buttons"
+#~ msgstr "Pa_nah pada butang sembunyi"
+
+#~ msgid "Background"
+#~ msgstr "latar belakang"
+
+#~ msgid "Background _image:"
+#~ msgstr "Latar belakang _imej:"
+
+#~ msgid "Co_lor:"
+#~ msgstr "Wa_rna:"
+
+#~ msgid "E_xpand"
+#~ msgstr "_Kembang"
+
+#~ msgid "General"
+#~ msgstr "Umum"
+
+#~ msgid "Image Background Details"
+#~ msgstr "Perincian Imej Latarbelakang"
+
+#~ msgid "Panel Properties"
+#~ msgstr "Ciri-ciri Panel"
+
+#~ msgid "Pick a color"
+#~ msgstr "Sila pilih satu warna"
+
+#~ msgid "Rotate image when panel is _vertical"
+#~ msgstr "Kilaskan imej bila panel me_negak"
+
+#~ msgid "S_tyle:"
+#~ msgstr "_Gaya:"
+
+#~ msgid "Show hide _buttons"
+#~ msgstr "Papar _butang tersembunyi"
+
+#~ msgid "Solid c_olor"
+#~ msgstr "_Warna tegar"
+
+#~ msgid "Some of these properties are locked down"
+#~ msgstr "Sesetengah ciri-ciri ini adalah dikunci"
+
+#~ msgid "St_retch"
+#~ msgstr "_Regang"
+
+#~ msgid "_Autohide"
+#~ msgstr "_Auto-sembunyi"
+
+#~ msgid "_Icon:"
+#~ msgstr "_Ikon:"
+
+#~ msgid "_None (use system theme)"
+#~ msgstr "_Tiada (guna tema sistem default)"
+
+#~ msgid "_Orientation:"
+#~ msgstr "_Orientasi:"
+
+#~ msgid "_Scale"
+#~ msgstr "_Skala"
+
+#~ msgid "_Size:"
+#~ msgstr "_Saiz:"
+
+#~ msgid "_Tile"
+#~ msgstr "_Tile"
+
+#~ msgid "Couldn't find a suitable application"
+#~ msgstr "Tak menjumpai aplikasi yang sesuai"
+
+#~ msgid "Cannot open recently used document"
+#~ msgstr "Tak dapat membuka dokumen digunakan kebelakangan ini"
+
+#~ msgid "An unknown error occurred while trying to open %s"
+#~ msgstr "Ralat tidak diketahui berlaku bila cuba membuka %s"
+
+#~ msgid "Clear the Recent Documents list?"
+#~ msgstr "Kosongkan Dokumen Kebelakangan?"
+
+#~ msgid ""
+#~ "If you clear the Recent Documents list, you clear the following:\n"
+#~ "\n"
+#~ "• All items from the Actions → Recent Documents menu item.\n"
+#~ "• All items from the recent documents list in all applications."
+#~ msgstr ""
+#~ "Jika anda ingin mengosongkan senarai Dokumen Kebelakangan, anda "
+#~ "mengosongkan berikut:\n"
+#~ "\n"
+#~ "• Semua item drpd item menu Aksi → Dokumen Kebelakangan.\n"
+#~ "• Semua item drpd dokumen kebelakangan pada semua aplikasi."
+
+#~ msgid "Open '%s'"
+#~ msgstr "Buka '%s'"
+
+#~ msgid "Recent Documents"
+#~ msgstr "Dokumen Kebelakangan"
+
+#~ msgid "Clear Recent Documents"
+#~ msgstr "Kosongkan Dokumen Kebelakangan"
+
+#~ msgid "Clear all items from the recent documents list"
+#~ msgstr "Kosongkan semua item drpd senarai dokumen kebelakangan"
+
+#~ msgid "Cannot launch command '%s'"
+#~ msgstr "Tak dapat melancarkan '%s'"
+
+#~ msgid "Cannot display location '%s'"
+#~ msgstr "Tak dapat memapar lokasi '%s'"
+
+#~ msgid "Cannot convert '%s' from UTF-8"
+#~ msgstr "Tak dapat tukar '%s' drpd UTF-8"
+
+#~ msgid "Choose a file to append to the command..."
+#~ msgstr "Pilih fail untuk ditambah pada arahan..."
+
+#~ msgid "Will run command: '%s'"
+#~ msgstr "Akan melaksanakan arahan: '%s'"
+
+#~ msgid "Select an application to view its description."
+#~ msgstr "Pilih aplikasi untuk melihat keterangannya."
+
+#~ msgid ""
+#~ "Click this button to browse for a file whose name to append to the "
+#~ "command string."
+#~ msgstr ""
+#~ "Klik butang ini untuk melungsur fail yang dinamakan untuk menambah ke "
+#~ "rentetan arahan."
+
+#~ msgid ""
+#~ "Click this button to run the selected application or the command in the "
+#~ "command entry field."
+#~ msgstr ""
+#~ "Klik butang ini untuk melaksanakan aplikasi dipilih atau arahan pasa "
+#~ "medan kemasukan arahan."
+
+#~ msgid "Command entry"
+#~ msgstr "Kemasukan arahan"
+
+#~ msgid "Command icon"
+#~ msgstr "Ikon arahan"
+
+#~ msgid "Enter a command string here to run it."
+#~ msgstr "Masukkan rentetan arahan disini untuk dilaksanakan."
+
+#~ msgid "Run Application"
+#~ msgstr "Laksana Aplikasi"
+
+#~ msgid "Run in _terminal"
+#~ msgstr "Laksanakan di _terminal"
+
+#~ msgid "Run with _file..."
+#~ msgstr "Laksana dengan _fail..."
+
+#~ msgid "Select this box to run the command in a terminal window."
+#~ msgstr ""
+#~ "PIlih kekotak ini untuk melaksanakan arahan pada tetingkap terminal."
+
+#~ msgid "Show list of known _applications"
+#~ msgstr "Papar senarai _aplikasi dikenali"
+
+#~ msgid "The icon of the command to be run."
+#~ msgstr "Ikon arahan untuk dilaksanakan."
+
+#~ msgid "_Run"
+#~ msgstr "_Laksana"
+
+#~ msgid ""
+#~ "I've detected a panel already running,\n"
+#~ "and will now exit."
+#~ msgstr ""
+#~ "Kami dapati panel sedia terlaksana.\n"
+#~ "dan ianya akan keluar."
+
+#~ msgid ""
+#~ "There was a problem registering the panel with the matecomponent-activation "
+#~ "server.\n"
+#~ "The error code is: %d\n"
+#~ "The panel will now exit."
+#~ msgstr ""
+#~ "Terdapat masalah ketika mendaftar panel dengan pelayan matecomponent-"
+#~ "activation \n"
+#~ "kod ralat ialah: %d\n"
+#~ "Panel akan keluar sekarang."
+
+#~ msgid "_Force quit"
+#~ msgstr "_Paksa keluar"
+
+#~ msgid "C_lear"
+#~ msgstr "_Kosongkan"
+
+#~ msgid "Hide Panel"
+#~ msgstr "Sorok Panel"
+
+#~ msgid "Top Expanded Edge Panel"
+#~ msgstr "Panel Pinggiran Atas Terkembang"
+
+#~ msgid "Top Centered Panel"
+#~ msgstr "Panel Ketengah Atas"
+
+#~ msgid "Top Floating Panel"
+#~ msgstr "Panel Terapung Atas"
+
+#~ msgid "Top Edge Panel"
+#~ msgstr "Panel Pinggiran Atas"
+
+#~ msgid "Bottom Expanded Edge Panel"
+#~ msgstr "Panel Pinggiran Terkembang Bawah"
+
+#~ msgid "Bottom Centered Panel"
+#~ msgstr "Panel KeTengah Bawah"
+
+#~ msgid "Bottom Floating Panel"
+#~ msgstr "Panel Terapung Bawah"
+
+#~ msgid "Bottom Edge Panel"
+#~ msgstr "Panel Pinggiran Bawah"
+
+#~ msgid "Left Expanded Edge Panel"
+#~ msgstr "Panel Pinggiran Terkembang Kiri"
+
+#~ msgid "Left Centered Panel"
+#~ msgstr "Panel Ketengah Kiri"
+
+#~ msgid "Left Floating Panel"
+#~ msgstr "Panel Terapung Kiri"
+
+#~ msgid "Left Edge Panel"
+#~ msgstr "Panel Pinggiran Kiri"
+
+#~ msgid "Right Expanded Edge Panel"
+#~ msgstr "Panel Pinggiran Terkembang Kanan"
+
+#~ msgid "Right Centered Panel"
+#~ msgstr "Panel KeTengah Kanan"
+
+#~ msgid "Right Floating Panel"
+#~ msgstr "Panel Terapung Kanan"
+
+#~ msgid "Right Edge Panel"
+#~ msgstr "Panel Pinggiran Kanan"
+
+#~ msgid "Automatically hide panel into corner"
+#~ msgstr "Automatik sorok panel ke sudut"
+
+#~ msgid "Background color"
+#~ msgstr "Warna latarbelakang"
+
+# Opacity tu apa?
+#~ msgid "Background color opacity"
+#~ msgstr "Opacity warna latarbelakang"
+
+#~ msgid "Background image"
+#~ msgstr "Imej latar belakang"
+
+#~ msgid "Background type"
+#~ msgstr "Jenis latar belakang"
+
+#~ msgid "Center panel on x-axis"
+#~ msgstr "Ketengahkan panel pada paksi-x"
+
+#~ msgid "Center panel on y-axis"
+#~ msgstr "Ketengahkan panel pada paksi-y"
+
+#~ msgid "Enable arrows on hide buttons"
+#~ msgstr "Hidupkan panah pada butang sembunyi"
+
+#~ msgid "Enable hide buttons"
+#~ msgstr "Hidupkan butang sembunyi"
+
+#~ msgid "Expand to occupy entire screen width"
+#~ msgstr "Kembangkan untuk menduduki seluruh lebar panel"
+
+#~ msgid "Fit image to panel"
+#~ msgstr "Muatkan imej ke panel"
+
+#~ msgid ""
+#~ "If true, arrows will be placed on the hide buttons. This key is only "
+#~ "relevant if the enable_buttons key is true."
+#~ msgstr ""
+#~ "Jika benar, panah akan diletakkan pada butang sembunyi. kekunci ini hanya "
+#~ "bermakna bile enable_buttons adalah benar."
+
+#~ msgid ""
+#~ "If true, buttons will be placed on each side of the panel which may be "
+#~ "used to move the panel to edge of the screen, leaving only a button "
+#~ "showing."
+#~ msgstr ""
+#~ "Jika benar, butang akan diletak pada setiap tepi panel dimana mungkin "
+#~ "digunakan untuk menggerakkan panel ke pinggir skrin, meningalkan hanya "
+#~ "satu butang dipaparkan."
+
+#~ msgid ""
+#~ "If true, hiding and un-hiding of this panel will be animated rather than "
+#~ "happening instantly."
+#~ msgstr ""
+#~ "Jika benar, penyorokan dan nyahsorok panel akan dianimasikan selain drpd "
+#~ "berlaku serta merta."
+
+#~ msgid ""
+#~ "If true, the background image will be rotated when the panel is oriented "
+#~ "vertically."
+#~ msgstr ""
+#~ "Jika benar, imej kalarbelakang akan dikilas bila panel diorientasikan "
+#~ "menegak."
+
+#~ msgid ""
+#~ "If true, the image will be scaled (retaining the aspect ratio of the "
+#~ "image) to the panel height (if horizontal)."
+#~ msgstr ""
+#~ "Jika benar, imej akan diskalakan (kekal nisbah aspek bagi imej) ke tinggi "
+#~ "panel (jika mengufuk)."
+
+#~ msgid ""
+#~ "If true, the image will be scaled to the panel dimensions. The aspect "
+#~ "ratio of the image will not be maintained."
+#~ msgstr ""
+#~ "Jika benar, imej akan diskalakan kepada dimensi panel. nisbah aspek imej "
+#~ "tak akan dikekalkan."
+
+#~ msgid ""
+#~ "If true, the panel is automatically hidden into a corner of the screen "
+#~ "when the pointer leaves the panel area. Moving the pointer to that corner "
+#~ "again will cause the panel to re-appear."
+#~ msgstr ""
+#~ "Jika benar, panel automatik disorok ke sudut skrin bila pentuding "
+#~ "meninggalkan kawasan panel. Menggerakkan pentuding ke sudut itu akan "
+#~ "menyebabkan panel muncul semula."
+
+#~ msgid ""
+#~ "In a Xinerama setup, you may have panels on each individual monitor. This "
+#~ "key identifies the current monitor the panel is displayed on."
+#~ msgstr ""
+#~ "Pada tetapan Xinerama, anda boleh mempunyai panel pada setiap monitor. "
+#~ "Kekunci ini mengenalpasti monitor semasa panel dipaparkan"
+
+#~ msgid "Name to identify panel"
+#~ msgstr "Nama untuk mengcam panel"
+
+#~ msgid "Panel autohide delay"
+#~ msgstr "Lengahan auto sorok"
+
+#~ msgid "Panel autounhide delay"
+#~ msgstr "Lengahan auto nyahsorok panel"
+
+#~ msgid "Panel orientation"
+#~ msgstr "Orientasi panel"
+
+#~ msgid "Panel size"
+#~ msgstr "Saiz panel"
+
+#~ msgid "Rotate image on vertical panels"
+#~ msgstr "Kilas imej pada panel menegak"
+
+#~ msgid "Specifies the background color for the panel in #RGB format."
+#~ msgstr "Nyatakan warna latar belakang bagi panel dalam format #RGB."
+
+#~ msgid ""
+#~ "Specifies the file to be used for the background image. If the image "
+#~ "contains an alpha channel it will be composited onto the desktop "
+#~ "background image."
+#~ msgstr ""
+#~ "Nyatakan fail untuk digunakan bagi imej latar belakang. Jika imej "
+#~ "mengandungi saluran alfa, ia akan dikompositkan ke imej latar belakang "
+#~ "desktop."
+
+#~ msgid ""
+#~ "Specifies the number of milliseconds delay after the pointer enters the "
+#~ "panel area before the panel is automatically re-shown. This key is only "
+#~ "relevant if the auto_hide key is true."
+#~ msgstr ""
+#~ "Menyatakan bilangan milisaat selepas penuding masuk ke kawasan panel "
+#~ "sebelum panel automatik dipaparkan. Kekunci ini hanya releven jika "
+#~ "kekunci auto_hide adalah benar."
+
+#~ msgid ""
+#~ "Specifies the number of milliseconds delay after the pointer leaves the "
+#~ "panel area before the panel is automatically hidden. This key is only "
+#~ "relevant if the auto_hide key is true."
+#~ msgstr ""
+#~ "Menyatakan bilangan milisaat selepas penuding meninggalkan kawasan panel "
+#~ "sebelum panel automatik disorok. Kekunci ini hanya releven jika kekunci "
+#~ "auto_hide adalah benar."
+
+#~ msgid ""
+#~ "Specifies the number of pixels visible when the panel is automatically "
+#~ "hidden into a corner. This key is only relevant if the auto_hide key is "
+#~ "true."
+#~ msgstr ""
+#~ "Menyatakan bilangan piksel yg kelihatan bila panel automatik disorok ke "
+#~ "sudut. Kekunci ini hanya releven jika kekunci auto_hide adalah benar"
+
+#~ msgid "Stretch image to panel"
+#~ msgstr "Regang imej kepada panel"
+
+#~ msgid ""
+#~ "The height (width for a vertical panel) of the panel. The panel will "
+#~ "determine at runtime a minimum size based on the font size and other "
+#~ "indicators. The maximum size is fixed at one quarter of the screen height "
+#~ "(or width)."
+#~ msgstr ""
+#~ "Tinggi bagi panel (lebar jika panel menegak) . Panel akan menentukan saiz "
+#~ "minimum berdasarkan saiz font dan menunjuk lain. Saiz maksimum adalah "
+#~ "tetaü pada suku drpd tinggi (atau lebar) skrin."
+
+#~ msgid ""
+#~ "The location of the panel along the x-axis. This key is only relevant in "
+#~ "un-expanded mode. In expanded mode this key is ignored and the panel is "
+#~ "placed at the screen edge specified by the orientation key."
+#~ msgstr ""
+#~ "Lokasi bagi panel disepanjang paksi-x. Kekunci ini hanya releven pada mod "
+#~ "un-expanded. Pada mod terkembang kekunci ini diabaikan dan panel "
+#~ "diletakkan pada pingguir skrin dinyatakan oleh kekunci orientasi."
+
+#~ msgid ""
+#~ "The location of the panel along the y-axis. This key is only relevant in "
+#~ "un-expanded mode. In expanded mode this key is ignored and the panel is "
+#~ "placed at the screen edge specified by the orientation key."
+#~ msgstr ""
+#~ "Lokasi bagi panel disepanjang paksi-y. Kekunci ini hanya releven pada mod "
+#~ "un-expanded. Pada mod terkembang kekunci ini diabaikan dan panel "
+#~ "diletakkan pada pingguir skrin dinyatakan oleh kekunci orientasi."
+
+#~ msgid ""
+#~ "The speed in which panel animations should occur. Possible values are "
+#~ "\"slow\", \"medium\" and \"fast\". This key is only relevant if the "
+#~ "enable_animations key is true."
+#~ msgstr ""
+#~ "kelajuan animasi panel . Nilai yang boleh adalah \"slow\", \"medium\" dan "
+#~ "\"fast\". Kekunci ini hanya relevan jika kekunci enable_animations adalah "
+#~ "benar."
+
+#~ msgid ""
+#~ "This is a human readable name which you can use to identify a panel. Its "
+#~ "main purpose is to serve as the panel's window title which is useful when "
+#~ "navigating between panels."
+#~ msgstr ""
+#~ "Ini adalah nama boleh dibaca manusia dimana anda boleh mengenalpasti "
+#~ "panel. Tujuan utama ia adalah untuk berlagak sebagai tajuk tetingkap "
+#~ "panel dimana ia berguna bila navigasi antara panel."
+
+#~ msgid "Visible pixels when hidden"
+#~ msgstr "Bilangan piksel kelihatan panel tersembunyi"
+
+#~ msgid ""
+#~ "With a multi-screen setup, you may have panels on each individual screen. "
+#~ "This key identifies the current screen the panel is displayed on."
+#~ msgstr ""
+#~ "Pada pemasangan aneka-skrin, anda boleh mempunyai panel pada skrin secara "
+#~ "individu. Kekunci ini mengenalpasti skrin semasa dimana panel dipaparkan."
+
+#~ msgid "X co-ordinate of panel"
+#~ msgstr "Koordinat X bagi panel"
+
+#~ msgid "X screen where the panel is displayed"
+#~ msgstr "Skrin X dimana panel dipaparkan"
+
+#~ msgid "Xinerama monitor where the panel is displayed"
+#~ msgstr "Monitor Xinerama dimana panel dipaparkan"
+
+#~ msgid "Y co-ordinate of panel"
+#~ msgstr "Koordinat Y bagi panel"
+
+#~ msgid "Cannot display help document"
+#~ msgstr "Tak dapat memaparkan dokumen bantuan"
+
+#~ msgid "Open URL: %s"
+#~ msgstr "Buka URL: %s"
+
+#~ msgid ""
+#~ "When a drawer is deleted, the drawer and its\n"
+#~ "settings are lost. Delete this drawer?"
+#~ msgstr ""
+#~ "Bila laci dipadam, laci dan tetapannya\n"
+#~ "akan hilang. Buang laci ini?"
+
+#~ msgid "Delete Drawer"
+#~ msgstr "Padam Laci"
+
+#~ msgid ""
+#~ "When a panel is deleted, the panel and its\n"
+#~ "settings are lost. Delete this panel?"
+#~ msgstr ""
+#~ "Bila panel dipadam, panel dan\n"
+#~ "tetapannya akan hilang. Buang panel ini?"
+
+#~ msgid "Delete Panel"
+#~ msgstr "Padam Panel"
+
+#~ msgid "A simple applet for testing the MATE-2.0 panel"
+#~ msgstr "Aplet ringkas untuk mencuba panel MATE-2.0"
+
+#~ msgid "Test MateComponent Applet"
+#~ msgstr "Aplet MateComponent Ujian"
+
+#~ msgid "Test MateComponent Applet Factory"
+#~ msgstr "Kilang Aplet MateComponent Ujian"
+
+#~ msgid "Incomplete '%s' background type received"
+#~ msgstr "Jenis latarbelakang tidak sempurna '%s' diterima"
+
+#~ msgid "Incomplete '%s' background type received: %s"
+#~ msgstr "Jenis latarbelakang tidak sempurna '%s' diterima: %s"
+
+#~ msgid "Failed to get pixmap %s"
+#~ msgstr "Gagal untuk mendapatkan pixmap %s"
+
+#~ msgid "Unknown background type received"
+#~ msgstr "Jenis latarbelakang tidak dikenali diterima"
+
+#~ msgid "The Applet's containing Panel's orientation"
+#~ msgstr "Aplet mengandungi orientasi Panel"
+
+#~ msgid "The Applet's containing Panel's size in pixels"
+#~ msgstr "Aplet mengandungi saiz Panel dalam piksel"
+
+#~ msgid "The Applet's containing Panel's background color or pixmap"
+#~ msgstr "Aplet mengandungi warna latar Panel atau pixmap"
+
+#~ msgid "The Applet's flags"
+#~ msgstr "Flag Aplet"
+
+#~ msgid "Ranges that hint what sizes are acceptable for the applet"
+#~ msgstr "Julat yg membayangkan saiz berapa diterima oleh aplet ini"
+
+#~ msgid "The Applet's containing Panel is locked down"
+#~ msgstr "Aplet mengandungi Panel dikunci"
+
+#~ msgid "Specify an applet IID to load"
+#~ msgstr "Nyatakan IID aplet untuk dimuatkan"
+
+#~ msgid ""
+#~ "Specify a mateconf location in which the applet preferences should be stored"
+#~ msgstr "Nyatakan lokasi mateconf dimana keutamaan aplet patut disimpan"
+
+#~ msgid ""
+#~ "Specify the initial size of the applet (xx-small, medium, large etc.)"
+#~ msgstr "Nyatakan saiz awal bagi aplet(xx-kecil, sederhana, besar etc.)"
+
+#~ msgid ""
+#~ "Specify the initial orientation of the applet (top, bottom, left or right)"
+#~ msgstr "Nyatakan orientasi awal bai aplet (atas, bawah, kiri atau kanan)"
+
+#~ msgid "Top"
+#~ msgstr "Atas"
+
+#~ msgid "Bottom"
+#~ msgstr "Bawah"
+
+#~ msgid "Left"
+#~ msgstr "Kiri"
+
+#~ msgid "Right"
+#~ msgstr "Kanan"
+
+#~ msgid "XX Small"
+#~ msgstr "XX Kecil"
+
+#~ msgid "X Small"
+#~ msgstr "X Kecil"
+
+#~ msgid "Small"
+#~ msgstr "Kecil"
+
+#~ msgid "Medium"
+#~ msgstr "Sederhana"
+
+#~ msgid "Large"
+#~ msgstr "Besar"
+
+#~ msgid "X Large"
+#~ msgstr "X Besar"
+
+#~ msgid "XX Large"
+#~ msgstr "XX Besar"
+
+#~ msgid "Test applet utility"
+#~ msgstr "Utiliti aplet Ujian"
+
+#~ msgid "_Applet:"
+#~ msgstr "_Aplet:"
+
+#~ msgid "_Prefs Dir:"
+#~ msgstr "Dir _Pref:"
+
+#~ msgid "Specify a profile name to load"
+#~ msgstr "Nyatakan nama profil untuk dimuatkan"
+
+#~ msgid "Cannot remove menu item %s"
+#~ msgstr "Tak dapat membuang item menu %s"
+
+#~ msgid "Could not get file name from path: %s"
+#~ msgstr "Tak boleh mendapatkan nama fail daripada laluan: %s"
+
+#~ msgid "Could not get directory name from path: %s"
+#~ msgstr "Tak boleh mendapatkan nama direktori daripada laluan: %s"
+
+#~ msgid "Remove this item"
+#~ msgstr "Buang item ini"
+
+#~ msgid "Add new item to this menu"
+#~ msgstr "Tambah item baru pada menu ini"
+
+#~ msgid "Properties"
+#~ msgstr "Ciri-ciri"
+
+#~ msgid "_Name:"
+#~ msgstr "_Nama:"
+
+#~ msgid ""
+#~ "The default application for this type of file cannot handle remote files"
+#~ msgstr ""
+#~ "Aplikasi default bagi jenis fail ini tidak dapat mengendali fail jauh"
+
+#~ msgid "Unable to get the name of the command to execute"
+#~ msgstr "Tak dapat nama bagi arahan untuk dilaksanakan"
+
+#~ msgid ""
+#~ "You do not have fortune installed or you have not specified a program to "
+#~ "run.\n"
+#~ "\n"
+#~ "Please refer to fish properties dialog."
+#~ msgstr ""
+#~ "Anda tidak mempunyai fortune yang dipasang atau tidak mempunyai program "
+#~ "yang dinyatakan untuk dilaksanakan.\n"
+#~ "\n"
+#~ "Sila rujuk dialog ciri-ciri ikan. "
+
+#~ msgid "Debian GNU/Linux"
+#~ msgstr "Debian GNU/Linux"
+
+#~ msgid "Debian Menu"
+#~ msgstr "Menu Debian"
+
+#~ msgid "SuSE Linux"
+#~ msgstr "Linux SuSE"
+
+#~ msgid "SuSE Menu"
+#~ msgstr "Menu SuSE"
+
+#~ msgid "Solaris"
+#~ msgstr "Solaris"
+
+#~ msgid "CDE Menu"
+#~ msgstr "Menu CDE"
+
+#~ msgid ""
+#~ "Unable to initialize png structure.\n"
+#~ "You probably have a bad version of libpng on your system"
+#~ msgstr ""
+#~ "Tak dapat memulakan structur png.\n"
+#~ "Anda mungkin mempuniyai versi libpng tak elok pada sistem anda"
+
+#~ msgid ""
+#~ "Unable to create png info.\n"
+#~ "You probably have a bad version of libpng on your system"
+#~ msgstr ""
+#~ "Tak dapat mencipta maklumat png.\n"
+#~ "Anda mungkin mempuniyai versi libpng tak elok pada sistem anda"
+
+#~ msgid ""
+#~ "Unable to set png info.\n"
+#~ "You probably have a bad version of libpng on your system"
+#~ msgstr ""
+#~ "Tak dapat menetapkan maklumat png.\n"
+#~ "Anda mungkin mempuniyai versi libpng tak elok pada sistem anda"
+
+#~ msgid ""
+#~ "Insufficient memory to save the screenshot.\n"
+#~ "Please free up some resources and try again."
+#~ msgstr ""
+#~ "Tak cukup memori untuk menyimpan cekupanskrin.\n"
+#~ "Sila bebaskan sedikit sumber dna cuba lagi."
+
+#~ msgid "File %s already exists. Overwrite?"
+#~ msgstr "Fail %s sudah wujud. Tindih?"
+
+#~ msgid ""
+#~ "Unable to create the file:\n"
+#~ "\"%s\"\n"
+#~ "Please check your permissions of the parent directory"
+#~ msgstr ""
+#~ "Tak dapat mencipta fail:\n"
+#~ "\"%s\"\n"
+#~ "Sila periksa keizinan pada direktori pangkal"
+
+#~ msgid "Screenshot-%s.png"
+#~ msgstr "Cekupanku-%s.png"
+
+#~ msgid "Screenshot.png"
+#~ msgstr "Cekupanku.png"
+
+#~ msgid "Screenshot-%s-%d.png"
+#~ msgstr "Cekupanku-%s-%d.png"
+
+#~ msgid "Screenshot-%d.png"
+#~ msgstr "Cekupanku-%d.png"
+
+#~ msgid "Not enough room to write file %s"
+#~ msgstr "Tak cukup ruang untuk menulis fail %s"
+
+#~ msgid ""
+#~ "There was an error displaying help: \n"
+#~ "%s"
+#~ msgstr ""
+#~ "Terdapat ralat memapar bantuan: \n"
+#~ "%s"
+
+#~ msgid ""
+#~ "Glade file for the screenshot program is missing.\n"
+#~ "Please check your installation of mate-panel"
+#~ msgstr ""
+#~ "Fail Glade bagi program cekupanskrin hilang.\n"
+#~ "Sila Periksa pemasangan mate-core anda"
+
+#~ msgid "Unable to take a screenshot of the current desktop."
+#~ msgstr "Tak dapat mencekup skrin desktop semasa. :("
+
+#~ msgid "Save screenshot to _web page (save in %s)"
+#~ msgstr "Simpan cekupanskrin ke laman _web (simpan di %s)"
+
+#~ msgid "Grab a window instead of the entire screen"
+#~ msgstr "Genggam tetingkap selain daripada seluruh skrin"
+
+#~ msgid "Take screenshot after specified delay [in seconds]"
+#~ msgstr "Ambil cekupan skrin selepas selangmasa dinyatakan [dalam saat]"
+
+#~ msgid "<b>Options</b>"
+#~ msgstr "<b>Opsyen</b>"
+
+#~ msgid "<b>Preview</b>"
+#~ msgstr "<b>Prebiu</b>"
+
+#~ msgid "Save Screenshot"
+#~ msgstr "Simpan Cekupanskrin"
+
+#~ msgid "Save screenshot to _desktop"
+#~ msgstr "Simpan cekupanskrin ke _desktop"
+
+#~ msgid "Save screenshot to _file:"
+#~ msgstr "Simpan cekupanskrin ke _fail:"
+
+#~ msgid "Save screenshot to _web page (save in ~/public__html)"
+#~ msgstr "Simpan cekupanskrin ke laman _web (simpan di ~/public__html)"
+
+#~ msgid ""
+#~ "The user's directory in which screenshots should be saved so as to appear "
+#~ "on the web."
+#~ msgstr ""
+#~ "Direktori pengguna dimana cekupan skrin akan disimpan supaya ianya muncul "
+#~ "di web."
+
+#~ msgid "Web directory"
+#~ msgstr "Direktori web"
+
+#~ msgid "Desktop"
+#~ msgstr "Desktop"
+
+#~ msgid ""
+#~ "The \"%s\" applet appears to have died unexpectedly.\n"
+#~ "\n"
+#~ "Do you want to reload this applet?"
+#~ msgstr ""
+#~ "Aplet \"%s\" nampaknya mati tanpa diduga.\n"
+#~ "\n"
+#~ "Anda mahu ulangmuat aplet ini?"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "(If you choose not to reload it at this time you can always add it by "
+#~ "right clicking on the panel and clicking on the \"Add to Panel\" submenu)"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "(Jika anda pilih untuk tidak ulangmuatnya kali ini, anda boleh "
+#~ "menambahnya dengan klik-kanan pada panel dan klik pada submenu \"Tambah "
+#~ "ke panel\")"
+
+#~ msgid "Unable to load panel stock icon '%s'\n"
+#~ msgstr "Tak dapat memuatkan ikon stol panel '%s'\n"
+
+#~ msgid "Size:"
+#~ msgstr "Saiz:"
+
+#~ msgid ""
+#~ "The system administrator has disallowed\n"
+#~ "modification of the panel configuration"
+#~ msgstr ""
+#~ "Pentadbir sistem telah tidak mengizinkan\n"
+#~ "mengubahsuaian konfigurasi panel"
+
+#~ msgid "Error loading glade file %s"
+#~ msgstr "Ralat memuatkan fail glade %s"
+
+#~ msgid "Panel"
+#~ msgstr "Panel"
+
+#~ msgid "Select preferences for all your panels"
+#~ msgstr "Pilih keutamaan bagi semua panel anda"
+
+#~ msgid "Animation _speed:"
+#~ msgstr "Kelajuan _animasi:"
+
+#~ msgid "Close _drawer when launcher is clicked"
+#~ msgstr "_Tutup laci jika pelancar diklik"
+
+#~ msgid "Drawer and panel _animation"
+#~ msgstr "_Animasi laci dan panel"
+
+#~ msgid "Fast"
+#~ msgstr "Laju"
+
+#~ msgid "Panel Preferences"
+#~ msgstr "Keutamaan Panel"
+
+#~ msgid "Slow"
+#~ msgstr "Perlahan"
+
+#~ msgid "Lock Screen"
+#~ msgstr "Kunci Skrin"
+
+#~ msgid "Lock the screen so that you can temporarily leave your computer"
+#~ msgstr "Kunci skrin supaya anda boleh meninggalkan komputer sekejap"
+
+#~ msgid "Log out of MATE"
+#~ msgstr "Log keluar MATE"
+
+#~ msgid "Search for Files"
+#~ msgstr "Cari fail"
+
+#~ msgid "Screenshot"
+#~ msgstr "Cekupanskrin"
+
+#~ msgid "Lock"
+#~ msgstr "Kunci"
+
+#~ msgid "Lock the screen so you can temporarily leave your computer"
+#~ msgstr "Kunci skrin supaya anda boleh meninggalkan komputer sekejap"
+
+#~ msgid "Search"
+#~ msgstr "Carian"
+
+#~ msgid "Run"
+#~ msgstr "Laksana"
+
+#~ msgid "Run a command"
+#~ msgstr "Laksanakan arahan"
+
+#~ msgid "Utility"
+#~ msgstr "Utiliti"
+
+#~ msgid "Clear recent document history?"
+#~ msgstr "Kosongkan sejarah dokumen kebelakangan?"
diff --git a/po/nb.po b/po/nb.po
new file mode 100644
index 0000000..d531096
--- /dev/null
+++ b/po/nb.po
@@ -0,0 +1,266 @@
+# Norwegian bokmål translation of mate-menus.
+# Copyright (C) 2004, 2005 Red Hat, Inc.
+# This file is distributed under the same license as the mate-menus package.
+# Kjartan Maraas <[email protected]>, 2004-2008.
+# Terance Edward Sola <[email protected]>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus 2.23.1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-08-04 18:15+0200\n"
+"PO-Revision-Date: 2009-08-04 18:15+0200\n"
+"Last-Translator: Kjartan Maraas <[email protected]>\n"
+"Language-Team: Norwegian Bokmal <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Multimedia"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Lyd og bilde"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Utvikling"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Verktøy for programvareutvikling"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Opplæring"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Spill"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Spill og underholdning"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafikk"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Grafiske programmer"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Maskinvare"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Innstillinger for forskjellige maskinvareenheter"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internett og nettverk"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Nettverksrelaterte innstillinger"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Utseende og oppførsel"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Innstillinger som kontrollerer utseende og oppførsel for skrivebordet"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internett"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programmer for Internettaksess slik som nettleser og e-post"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Kontorstøtte"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Kontorstøtteprogrammer"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Personlig"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Personlige innstillinger"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Administrasjon"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Endre systeminnstillinger (påvirker alle brukere)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Personlige brukervalg"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Brukervalg"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "System"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Systeminnstillinger"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Systemverktøy"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Systemkonfigurasjon og overvåking"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Tilgjengelighet"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Innstillinger for tilgjengelighet"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Tilbehør"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Tilbehør for skrivebordet"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Programmer"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Personlige brukervalg og administrative innstillinger"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Programmer som ikke passer i andre kategorier"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Annet"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Menyredigering"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Rediger menyer"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Programmer"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Forvalg"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menyer:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Enkel menyredigering %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Navn"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Vis"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Kan ikke finne hjemmekatalog: ikke satt i /etc/passwd og det finnes ingen "
+"verdi for $HOME i miljøet"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Menyfil"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENY_FIL"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Overvåk endringer i menyen"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Ta med oppføringer i <Exclude> seksjoner"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Ta med oppføringer som har NoDisplay=true"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Ugyldig ID for menyoppføringsfil"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Ugyldig filnavn]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Meny endret, laster på nytt ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Menytreet er tomt"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- test MATE's implementasjon av menyspesifikasjonen"
diff --git a/po/nds.po b/po/nds.po
new file mode 100644
index 0000000..7e0e208
--- /dev/null
+++ b/po/nds.po
@@ -0,0 +1,268 @@
+# German, Low translation for mate-menus
+# Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006
+# This file is distributed under the same license as the mate-menus package.
+# Nils-Christoph Fiedler <[email protected]>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-"
+"menus&component=general\n"
+"POT-Creation-Date: 2009-10-21 05:32+0000\n"
+"PO-Revision-Date: 2009-10-22 18:55+0100\n"
+"Last-Translator: Nils-Christoph Fiedler <[email protected]>\n"
+"Language-Team: Low German <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-04-14 19:08+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Multimedia"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Ton un Bild"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programmeeren"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Hölpprogrammen to'r Programmkonstruktschoon"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Erteken"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Speelen"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Speel un Spoos"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafik"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Grafikprogramme"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Hardware"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Instellens för unnerscheedliche Hardware"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Innernet un Netwark"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Netwarksinstellens"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Utsehn"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Instellensstüern vun Schrievdiskverhollen un -utsehn"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Innernet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programme för Innernettogrip as Net un E-Post"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Kontor"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Kontorprogramme"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Persönlich"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Persönliche Instellens"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Verwaltens"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Systemwiete Instellens ännern (Geiht all Bruker wat an)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Persönliche Instellens"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Instellens"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "System"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Systeminstellens"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Systemprogramme"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Systemkonfiguratschoon un Oppassens"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Togrip in'n Groten un Ganzen"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Togripinstellens in'n Groten un Ganzen"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Tobehör"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Schrievdisk Tobehör"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Programme"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Persönliche Vorleeben un administrative Instellens"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Programme de keene Schieblade passen"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Annere"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Menüverwaltens"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Menüs bewarken"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Programme:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Standard"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menüs:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Menü Verwaltens %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Naam"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Opwiesen"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Kann dat eegen Verteeknis nich finnen: wedder in /etc/passwd noch in $HOME "
+"als Wert gesetzt"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Menüdatei"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Menüanpassens oppassen"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Föge <Exclude>d Indräge in"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Föge NoDisplay=true Indräge hento"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Falsche Schrievdiskdatei ID"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Falscher Dateinaam]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <utsluten>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Menü is ännert worrn, lade nüe ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Menüstruktur is leer"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- MATE's Umsetten vun de Schrievdiskspezifikatschoon vorknüppen"
diff --git a/po/ne.po b/po/ne.po
new file mode 100644
index 0000000..23d6f4e
--- /dev/null
+++ b/po/ne.po
@@ -0,0 +1,275 @@
+# translation of mate-menus.HEAD.ne.po to Nepali
+# Nepali Translation Project.
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+#
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2005.
+# Ganesh Ghimire <[email protected]>, 2005.
+# Nabin Gautam <[email protected]>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus.HEAD.ne\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-05-02 03:41+0100\n"
+"PO-Revision-Date: 2007-10-16 14:50+0545\n"
+"Last-Translator: Nabin Gautam <[email protected]>\n"
+"Language-Team: Nepali <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Nepali\n"
+"X-Poedit-Country: NEPAL\n"
+"X-Poedit-SourceCharset: utf-8\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=n !=1\n"
+
+#: ../desktop-directories/Accessibility.directory.in.h:1
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "विश्वब्यापी पहुँच"
+
+#: ../desktop-directories/Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "विश्वब्यापी पहुँच सेटिङ"
+
+#: ../desktop-directories/Accessories.directory.in.h:1
+msgid "Accessories"
+msgstr "सहायक उपकरण"
+
+#: ../desktop-directories/Accessories.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "डेस्कटप सहायक उपकरण"
+
+#: ../desktop-directories/Applications.directory.in.h:1
+msgid "Applications"
+msgstr "अनुप्रयोग"
+
+#: ../desktop-directories/Desktop.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "व्यक्तिगत प्राथमिकता र प्रशासकिय सेटिङ"
+
+#: ../desktop-directories/Desktop.directory.in.h:2
+#: ../desktop-directories/System.directory.in.h:1
+msgid "System"
+msgstr "प्रणाली"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "प्रोग्रामिङ"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "सफ्टवेर विकासका लागि उपकरण"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "शिक्षा"
+
+#: ../desktop-directories/Games.directory.in.h:1
+msgid "Games"
+msgstr "खेल"
+
+#: ../desktop-directories/Games.directory.in.h:2
+msgid "Games and amusements"
+msgstr "खेल र मनोरञ्जन"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "ग्राफिक्स"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "ग्राफिक्स अनुप्रयोग"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "हार्डवेयर"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "विभिन्न हार्डवेयर यन्त्रका लागि सेटिङ"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "इन्टरनेट र सञ्जाल"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "सञ्जाल सम्बन्धि सेटिङ"
+
+#: ../desktop-directories/Internet.directory.in.h:1
+msgid "Internet"
+msgstr "इन्टरनेट"
+
+#: ../desktop-directories/Internet.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "वेब र इमेल जस्तो इन्टरनेट पहुँचका लागि कार्यक्रम"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "हेर्नुहोस् अनुभव गर्नुहोस्"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "डेस्कटप देखावट र व्यवहार नियन्त्रण गर्ने सेटिङ"
+
+#: ../desktop-directories/Multimedia.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "मल्टिमिडिया मेनु"
+
+#: ../desktop-directories/Multimedia.directory.in.h:2
+msgid "Sound & Video"
+msgstr "ध्वनि र भिडियो"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "कार्यालय"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "कार्यालय अनुप्रयोग"
+
+#: ../desktop-directories/Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "अन्य कोटिमा नमिलेका अनुप्रयोग"
+
+#: ../desktop-directories/Other.directory.in.h:2
+msgid "Other"
+msgstr "अन्य"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "व्यक्तिगत"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "व्यक्तिगत सेटिङ"
+
+#: ../desktop-directories/Preferences.directory.in.h:1
+msgid "Personal preferences"
+msgstr "व्यक्तिगत प्राथमिकता"
+
+#: ../desktop-directories/Preferences.directory.in.h:2
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "प्राथमिकता"
+
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:2
+msgid "Universal access related preferences"
+msgstr "विश्वब्यापी पहुँच सम्बन्धि प्राथमिकता"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences and settings"
+msgstr "व्यक्तिगत प्राथमिकता र सेटिङ"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "प्रणाली सेटिङ"
+
+#: ../desktop-directories/System-Settings.directory.in.h:1
+msgid "Administration"
+msgstr "प्रशासन"
+
+#: ../desktop-directories/System-Settings.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "सम्पूर्ण प्रणालीका सेटिङ परिवर्तन गर्नुहोस् ( सबै प्रयोगकर्तालाई प्रभाव पार्छ)"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "प्रणाली उपकरण"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "प्रणाली कन्फिगरेसन र अनुगमन"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "मेनु सम्पादक"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "मेनु सम्पादन गर्नुहोस्"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "अनुप्रयोग:"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "पुर्वनिर्धारित"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "मेनु:"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123
+msgid "Name"
+msgstr "नाम"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115
+msgid "Show"
+msgstr "देखाउनुहोस्"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr "गृह डाइरेक्टरी फेला पार्न सकिँदैन: /etc/passwd मा सेट छैन र परिवेशमा $HOME का लागि मान छैन"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "मेनु फाइल"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "मेनु परिवर्तनका लागि मोनिटर"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "समाविष्ट <Exclude> प्रविष्टि"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "NoDisplay=ठीक प्रविष्टि सम्मिलित गर्नुहोस्"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "अवैध डेस्कटप फाइल आईडी"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[अवैध फाइलनाम]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== मेनु परिवर्तन गरियो, रिलोडिङ ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "मेनु ट्री खाली छ"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- डेस्कटप मेनु विशिष्टिकरणको जिनोम कार्यान्वयनको परीक्षण गर्नुहोस्"
+
diff --git a/po/nl.po b/po/nl.po
new file mode 100644
index 0000000..f53c167
--- /dev/null
+++ b/po/nl.po
@@ -0,0 +1,281 @@
+# Dutch translation of mate-menus
+#
+# This file is distributed under the same license as the mate-menus package.
+#
+# Daniel van Eeden <[email protected]>, 2004
+# Tino Meinen <[email protected]>, 2005
+# Wouter Bolsterlee <[email protected]>, 2007–2010
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-03-30 18:01+0200\n"
+"PO-Revision-Date: 2010-03-30 18:01+0200\n"
+"Last-Translator: Wouter Bolsterlee <[email protected]>\n"
+"Language-Team: Dutch <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+# menu weglaten
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Multimedia"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Geluid & Video"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Ontwikkeling"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Gereedschap voor software-ontwikkeling"
+
+# leermiddelen
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Educatie"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Spelletjes"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Spelletjes en amusement"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafisch"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Grafische toepassingen"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Hardware"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Hardware-instellingen"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet en netwerk"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Netwerkgerelateerde instellingen"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Uiterlijk en gedrag"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Instellingen voor het uiterlijk en gedrag van de werkomgeving"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Toepassingen voor internettoegang zoals web en e-mail"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Kantoor"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Kantoortoepassingen"
+
+#. Translators: this is Personal as in "Personal settings"
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal"
+msgstr "Persoonlijk"
+
+#: ../desktop-directories/Personal.directory.in.h:3
+msgid "Personal settings"
+msgstr "Persoonlijke voorkeuren"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Beheer"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Systeembrede instellingen (op alle gebruikers van toepassing)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Persoonlijke voorkeuren"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Voorkeuren"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Systeem"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Systeeminstellingen"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Systeemgereedschap"
+
+# was eerst monitoring, vervangen door controle
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Systeemconfiguratie en -controle"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Toegankelijkheid"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Toegankelijkheidsinstellingen"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Hulpmiddelen"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Bureaubladhulpmiddelen"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Toepassingen"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Persoonlijke voorkeuren en instellingen"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr ""
+"Toepassingen die niet in een andere categorie ondergebracht kunnen worden"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Overig"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Menu-editor"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Menu's bewerken"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Toepassingen:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Standaardinstellingen"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menu's:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Menu-editor %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Naam"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Tonen"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Kan de persoonlijke map niet vinden: niet ingesteld in /etc/passwd en geen "
+"waarde voor $HOME in de omgevingsvariabelen"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Toegangelijkheidsgerelateerde voorkeuren"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Persoonlijke voorkeuren en instellingen"
+
+#~ msgid "Menu file"
+#~ msgstr "Menubestand"
+
+#~ msgid "MENU_FILE"
+#~ msgstr "MENU_BESTAND"
+
+# in de gaten houden/controleren op/monitoren voor
+#~ msgid "Monitor for menu changes"
+#~ msgstr "Monitoren voor menuwijzigingen"
+
+#~ msgid "Include <Exclude>d entries"
+#~ msgstr "Inclusief <Excluded> items"
+
+#~ msgid "Include NoDisplay=true entries"
+#~ msgstr "Inclusief NoDisplay=true items"
+
+#~ msgid "Invalid desktop file ID"
+#~ msgstr "Ongeldig ID voor desktopbestand"
+
+#~ msgid "[Invalid Filename]"
+#~ msgstr "[Ongeldige bestandsnaam]"
+
+#~ msgid " <excluded>"
+#~ msgstr " <excluded>"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "==== Menu changed, reloading ====\n"
+#~ "\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "==== Menu is gewijzigd, herladen ====\n"
+#~ "\n"
+#~ "\n"
+
+#~ msgid "Menu tree is empty"
+#~ msgstr "Menustructuur is leeg"
+
+#~ msgid "- test MATE's implementation of the Desktop Menu Specification"
+#~ msgstr "- de MATE-implementatie van de Desktop Menu Specification testen"
+
+#~ msgid "Accessibility"
+#~ msgstr "Toegankelijkheid"
+
+#~ msgid "Accessibility Settings"
+#~ msgstr "Toegankelijkheidsinstellingen"
+
+# werkomgeving/bureaublad/desktop/werkblad
+#~ msgid "Desktop"
+#~ msgstr "Bureaublad"
+
+#~ msgid "Hide"
+#~ msgstr "Verbergen"
diff --git a/po/nn.po b/po/nn.po
new file mode 100644
index 0000000..1757753
--- /dev/null
+++ b/po/nn.po
@@ -0,0 +1,275 @@
+# translation of nn.po to Norwegian Nynorsk
+# Norwegian (nynorsk) translation of mate-menus.
+# Copyright (C) Roy-Magne Mo <[email protected]>, 2001.
+# Roy-Magne Mo <[email protected]>, 2001.
+# Åsmund Skjæveland <[email protected]>, 2003, 2004.
+# Kjartan Maraas <[email protected]>, 2005.
+# Eskild Hustvedt <[email protected]>, 2008.
+# Torstein Adolf Winterseth <[email protected]>, 2010.
+# Torstein Winterseth <[email protected]>, 2010.
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-control-center 2.9.4\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-"
+"menus&component=general\n"
+"POT-Creation-Date: 2010-03-28 07:09+0000\n"
+"PO-Revision-Date: 2010-09-01 18:55+0200\n"
+"Last-Translator: Torstein Winterseth <[email protected]>\n"
+"Language-Team: [email protected]\n"
+"Language: nn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Virtaal 0.6.1\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Multimediameny"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Lyd og bilete"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Utvikling"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Verktøy for programvareutvikling"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Utdanning"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Spel"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Spel og underhalding"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafikk"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Grafikkprogram"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Maskinvare"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Innstillingar for fleire maskinvareeiningar"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internett og nettverk"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Nettverksrelaterte innstillingar"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Utsjåande"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Innstillingar som kontrollerer utsjånaden og åtferda til skrivebordet"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internett"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Program for bruk på Internett, som nettlesar og e-postklient"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Kontor"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Kontorprogram"
+
+#. Translators: this is Personal as in "Personal settings"
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal"
+msgstr "Personleg"
+
+#: ../desktop-directories/Personal.directory.in.h:3
+msgid "Personal settings"
+msgstr "Personlege innstillingar"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Administrasjon"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Endra innstillingar for heile systemet (påverkar alle brukarar)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Personlege innstillingar"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Innstillingar"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "System"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Systeminnstillingar"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Systemverktøy"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Oppsett og overvaking av systemet"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Tilgjenge"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Innstillingar for tilgjenge"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Verktøy"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Verktøy for skrivebordet"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Program"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Personlege og administrative innstillingar"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Program som ikkje passar i andre kategoriar"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Anna"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Menyredigering"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Rediger menyar"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Program:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Forval"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menyar:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Enkel menyredigering %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Namn"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Vis"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Klarte ikkje finna heimemappe: Ikkje seten i /etc/passwd og ingen verdi for "
+"$HOME i miljøet"
+
+#~ msgid "Menu file"
+#~ msgstr "Menyfil"
+
+#~ msgid "MENU_FILE"
+#~ msgstr "MENY_FIL"
+
+#~ msgid "Monitor for menu changes"
+#~ msgstr "Overvak menyen for endringar"
+
+#~ msgid "Include <Exclude>d entries"
+#~ msgstr "Inkluder oppføringar som har blitt ekskludert med <exclude>"
+
+#~ msgid "Include NoDisplay=true entries"
+#~ msgstr ""
+#~ "Inkluder oppføringar som er satt til å ikkje verta vist med NoDisplay=true"
+
+#~ msgid "Invalid desktop file ID"
+#~ msgstr "Ugyldig ID for desktop-fil"
+
+#~ msgid "[Invalid Filename]"
+#~ msgstr "[Ugyldig filnamn]"
+
+#~ msgid " <excluded>"
+#~ msgstr " <ekskludert>"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "==== Menu changed, reloading ====\n"
+#~ "\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "==== Meny endra, lastar på nytt ===\n"
+#~ "\n"
+#~ "\n"
+
+#~ msgid "Menu tree is empty"
+#~ msgstr "Menytreet er tomt"
+
+#~ msgid "- test MATE's implementation of the Desktop Menu Specification"
+#~ msgstr "- test MATE sin implementasjon av desktop-menyspesifikasjonen"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Innstillingar relatert til tilgjenge"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Personlege innstillingar"
+
+#~ msgid "Accessibility"
+#~ msgstr "Tilgjenge"
+
+#~ msgid "Desktop"
+#~ msgstr "Skrivebord"
diff --git a/po/oc.po b/po/oc.po
new file mode 100644
index 0000000..f1e4d1b
--- /dev/null
+++ b/po/oc.po
@@ -0,0 +1,266 @@
+# Translation of oc.po to Occitan
+# Occitan translation of mate-menus.
+# Copyright (C) 2007 Free Software Foundation, Inc.
+# This file is distributed under the same license as the mate-menus package.
+#
+# Yannig Marchegay (Kokoyaya) <[email protected]>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: oc\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-07-02 08:58+0200\n"
+"PO-Revision-Date: 2007-12-23 12:20+0100\n"
+"Last-Translator: Yannig Marchegay (Kokoyaya) <[email protected]>\n"
+"Language-Team: Occitan <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Multimèdia"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Son e vidèo"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Desvolopament"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Espleches per desvolopar de logicials"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Educacion"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Jòcs"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Jòcs e divertiments"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafisme"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Logicials grafics"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Material"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Paramètres per d'unes periferics materials"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet e ret"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Paramètres en relacion amb la ret"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr ""
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr ""
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr ""
+"Logicials per accedir a internet, coma lo web o los messatges electronics"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Burèu"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Logicials pel burèu"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Personal"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Paramètres personals"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Administracion"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr ""
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Preferéncias personalas"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Preferéncias"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Sistèma"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Paramètres del sistèma"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Espleches sistèma"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Configuracion e susvelhança del sistèma"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Accès universal"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr ""
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Accessòris"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Accessòris del burèu"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Aplicacions"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Preferéncias personalas e paramètres del sistèma"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Logicials que dintran pas dins las autras categorias"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Autre"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Editor de menuts"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "Editar los menuts"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "_Aplicacions :"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "Valors pre_definidas"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "_Menuts :"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Nom"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Visualizar"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Impossible de localizar lo repertòri personal : pas definit dins /etc/passwd "
+"e la variabla d'environament $HOME es voida"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Fichièr de menut"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "FICHIÈR_MENUT"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Susvelhar los cambiaments de menut"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Inclure las entradas exclusas amb <Exclude>"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Inlure las entradas \"de visualizar pas\" (NoDisplay=true)"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Indentificant del fichièr .desktop invalid"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Nom de fichièr invalid]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluses>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Menut modificat, recargament en cors ====↵\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "L'arborescéncia de menut es voida"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr ""
+"- ensajar l'implementacion MATE de l'especificacion dels menuts .desktop"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Preferéncias e paramètres personals"
diff --git a/po/or.po b/po/or.po
new file mode 100644
index 0000000..22a4081
--- /dev/null
+++ b/po/or.po
@@ -0,0 +1,274 @@
+# translation of mate-menus.master.or.po to Oriya
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+#
+# Subhransu Behera <[email protected]>, 2006.
+# Manoj Kumar Giri <[email protected]>, 2008.
+# Manoj Kumar Giri <[email protected]>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus.master.or\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n"
+"POT-Creation-Date: 2009-06-21 17:35+0000\n"
+"PO-Revision-Date: 2009-08-13 20:05+0530\n"
+"Last-Translator: Manoj Kumar Giri <[email protected]>\n"
+"Language-Team: Oriya <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n\n"
+"\n"
+"\n"
+"\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "ବହୁମାଧ୍ଯମ ତାଲିକା"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "ଧ୍ବନି ଏବଂ ଭିଡିଓ"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "ପ୍ରୋଗ୍ରାମିଙ୍ଗ"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "ସଫ୍ଟୱେର ବିକାଶ ପାଇଁ ଉପକରଣ"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "ଶିକ୍ଷା"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "ଖେଳ"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "ଖେଳ ଏବଂ ମନୋରଞ୍ଜନ"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "ଆଲେଖୀ"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "ଆଲେଖୀ ପ୍ରୟୋଗ"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "ହାର୍ଡୱେର"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "କେତେକ ହାର୍ଡୱେର ଯନ୍ତ୍ରଗୁଡିକ ପାଇଁ ବିନ୍ୟାସ"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "ଇନ୍ଟରନେଟ ଏବଂ ନେଟୱର୍କ"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "ନେଟୱର୍କ ସମ୍ପର୍କୀୟ ବିନ୍ୟାସ"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "ଦେଖନ୍ତୁ ଏବଂ ଅନୁଭବ କରନ୍ତୁ"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "ଡେସ୍କଟପ ପରିଦୃଶ୍ୟ ଏବଂ ଆଚରଣକୁ ନିୟନ୍ତ୍ରଣ କରୁଥିବା ବିନ୍ୟାସ"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "ଇଣ୍ଟରନେଟ"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "ଇଣ୍ଟରନେଟ ଅଭିଗମ୍ୟତା ପାଇଁ ୱେବ ଏବଂ ଇ-ମେଲ ଭଳି ପ୍ରୋଗ୍ରାମଗୁଡ଼ିକ"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "କାର୍ଯ୍ଯାଳୟ"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "କାର୍ଯ୍ଯାଳୟ ପ୍ରୟୋଗ"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "ବ୍ୟକ୍ତିଗତ"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "ବ୍ଯକ୍ତିଗତ ବିନ୍ଯାସ"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "ପ୍ରଶାସନ"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "ତନ୍ତ୍ର ବ୍ଯାପି ବିନ୍ଯାସକୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ (ସମସ୍ତ ଉପଭୋକ୍ତା ମାନଙ୍କୁ ପ୍ରଭାବିତ କରିଥାଏ)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "ବ୍ଯକ୍ତିଗତ ପସନ୍ଦ"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "ପସନ୍ଦ"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "ତନ୍ତ୍ର"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "ତନ୍ତ୍ର ବିନ୍ୟାସ"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "ତନ୍ତ୍ର ଉପକରଣ"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "ତନ୍ତ୍ର ବିନ୍ଯାସ ଏବଂ ନିରୀକ୍ଷଣ"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "ସାର୍ବଜନିକ ଅଭିଗମ୍ୟତା"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "ସାର୍ବଜନିକ ଅଭିଗମ୍ୟତା ବିନ୍ଯାସ"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "ସହାୟକ ବସ୍ତୁ"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "ଡେସ୍କଟପ୍ ସହାୟକ ବସ୍ତୁ"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "ପ୍ରୟୋଗ"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "ବ୍ଯକ୍ତିଗତ ପସନ୍ଦ ଏବଂ ପ୍ରଶାସନିକ ବିନ୍ଯାସ"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "ପ୍ରୟୋଗ ଯାହାକି ଅନ୍ଯ କୌଣସି ଶ୍ରେଣୀ ସହିତ ଖାପ ଖାଇଲା ନାହିଁ"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "ଅନ୍ଯାନ୍ଯ"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "ତାଲିକା ସମ୍ପାଦକ"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "ତାଲିକାକୁ ସମ୍ପାଦନ କରନ୍ତୁ"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "ପ୍ରୟୋଗ (_A):"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "ପୂର୍ବ ନିର୍ଦ୍ଧାରିତ (_D)"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "ତାଲିକା (_M):"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+#| msgid "Menu Editor"
+msgid "Simple Menu Editor %s"
+msgstr "ସରଳ ତାଲିକା ସମ୍ପାଦକ %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "ନାମ"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "ଦେଖାନ୍ତୁ"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"ମୂଳସ୍ଥାନ ପଞ୍ଜିକାକୁ ପାଇ ପାରିବ ନାହିଁ: /etc/passwdରେ ବିନ୍ଯାସ କରାଯାଇ ନାହିଁ ଏବଂ ପରିବେଶରେ $HOME "
+"ପାଇଁ କୌଣସି ମୂଲ୍ଯ ନାହିଁ"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "ତାଲିକା ଫାଇଲ"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "ତାଲିକା ଫାଇଲ (_F)"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "ତାଲିକା ପରିବର୍ତ୍ତନ ଉପରେ ଦ୍ରୁଷ୍ଟି ରଖନ୍ତୁ"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "<Exclude>d ପ୍ରବିଷ୍ଟିକୁ ଅନ୍ତର୍ଭୁକ୍ତ କରନ୍ତୁ"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "NoDisplay=true ପ୍ରବିଷ୍ଟିକୁ ଅନ୍ତର୍ଭୁକ୍ତ କରନ୍ତୁ"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "ଅବୈଧ ଡେସ୍କଟପ୍ ଫାଇଳ ପରିଚୟକୁ ଅନ୍ତର୍ଭୁକ୍ତ କରନ୍ତୁ"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[ଅବୈଧ ଫାଇଲ ନାମ]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <ବାଦ କରାଗଲା>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== ତାଲିକାକୁ ପରିବର୍ତ୍ତିତ କରାଗଲା, ପୁନର୍ଧାରଣ କରୁଅଛି ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "ତାଲିକା ବ୍ରୁକ୍ଷଟି ଖାଲି ଅଛି"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- ଡେସ୍କଟପ୍ ତାଲିକା ନିର୍ଦ୍ଧିଷ୍ଟକରଣର ନୋମ୍ ସାଧନକୁ ଯାଞ୍ଚ କରୁଅଛି"
+
diff --git a/po/pa.po b/po/pa.po
new file mode 100644
index 0000000..88a7bc2
--- /dev/null
+++ b/po/pa.po
@@ -0,0 +1,275 @@
+# translation of mate-menus.HEAD.po to Punjabi
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+#
+# A S Alam <[email protected]>, 2005,2006,2007,2008,2009.
+# Amanpreet Singh Alam <[email protected]>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus.HEAD\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug."
+"cgi?product=mate-menus&component=general\n"
+"POT-Creation-Date: 2009-06-21 17:35+0000\n"
+"PO-Revision-Date: 2009-09-10 06:45+0530\n"
+"Last-Translator: A S Alam <[email protected]>\n"
+"Language-Team: Punjabi/Panjabi <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "ਮਲਟੀਮੀਡਿਆ ਮੇਨੂ"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "ਸੰਗੀਤ ਅਤੇ ਵੀਡਿਓ"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "ਪਰੋਗਰਾਮਿੰਗ"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "ਸਾਫਟਵੇਅਰ ਦੇ ਡਿਵੈਲਪਮੈਂਟ ਲਈ ਟੂਲ"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "ਸਿੱਖਿਆ"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "ਖੇਡਾਂ"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "ਖੇਡਾਂ ਅਤੇ ਮਨੋਰੰਜਨ"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "ਚਿੱਤਰਕਾਰੀ"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "ਚਿੱਤਰਕਾਰੀ ਕਾਰਜ"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "ਜੰਤਰ"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "ਕਈ ਜੰਤਰਾਂ ਲਈ ਸਥਾਪਨ"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "ਇੰਟਰਨੈੱਟ ਅਤੇ ਨੈੱਟਵਰਕ"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "ਨੈੱਟਵਰਕ ਨਾਲ ਸਬੰਧਤ ਸਥਾਪਨ"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "ਦਿੱਖ ਅਤੇ ਵਰਤੋਂ"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "ਡੈਸਕਟਾਪ ਦਿੱਖ ਅਤੇ ਰਵੱਈਆ ਕੰਟਰੋਲ ਕਰਨ ਲਈ ਸਥਾਪਨ"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "ਇੰਟਰਨੈੱਟ"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "ਇੰਟਰਨੈੱਟ ਇਸਤੇਮਾਲ ਕਰਨ ਲਈ ਕਾਰਜ, ਜਿਵੇਂ ਕਿ ਵੈੱਬ ਤੇ ਈ-ਮੇਲ"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "ਦਫ਼ਤਰ"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "ਦਫ਼ਤਰ ਕਾਰਜ"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "ਨਿੱਜੀ"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "ਨਿੱਜੀ ਸੈਟਿੰਗ"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "ਪਰਸ਼ਾਸਨ"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "ਪੂਰੇ ਸਿਸਟਮ ਲਈ ਸਥਾਪਨ ਬਦਲਾਅ (ਸਭ ਯੂਜ਼ਰਾਂ ਨੂੰ)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "ਨਿੱਜੀ ਪਸੰਦ"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "ਮੇਰੀ ਪਸੰਦ"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "ਸਿਸਟਮ"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "ਸਿਸਟਮ ਸੈਟਿੰਗ"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "ਸਿਸਟਮ ਟੂਲ"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "ਸਿਸਟਮ ਸੰਰਚਨਾ ਅਤੇ ਨਿਗਰਾਨੀ"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "ਵਿਆਪਕ ਪਹੁੰਚ"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "ਵਿਆਪਕ ਪਹੁੰਚ ਸਥਾਪਨ"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "ਸਹਾਇਕ"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "ਡੈਸਕਟਾਪ ਸਹਾਇਕ"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "ਐਪਲੀਕੇਸ਼ਨ"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "ਨਿੱਜੀ ਪਸੰਦ ਅਤੇ ਪਰਸ਼ਾਸਨੀ ਸਥਾਪਨ"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "ਕਾਰਜ, ਜੋ ਕਿ ਕਿਸੇ ਵਰਗ ਵਿੱਚ ਨਹੀਂ ਆਉਦੇ।"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "ਹੋਰ"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "ਮੇਨੂ ਸੰਪਾਦਕ"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "ਮੇਨੂ ਸੋਧ"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "ਕਾਰਜ(_A):"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "ਮੂਲ(_D)"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "ਮੇਨੂ(_M):"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49, python-format
+#| msgid "Menu Editor"
+msgid "Simple Menu Editor %s"
+msgstr "ਸੌਖਾ ਜਿਹਾ ਮੇਨੂ ਸੰਪਾਦਕ %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "ਨਾਂ"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "ਵੇਖੋ"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"ਘਰ ਡਾਇਰੈਕਟਰੀ ਨਹੀਂ ਮਿਲੀ: /etc/passwd ਵਿੱਚ ਕੁਝ ਦਿੱਤਾ ਨਹੀਂ ਹੈ ਅਤੇ ਮਾਹੌਲ ਵਿੱਚ $HOME ਲਈ ਕੋਈ "
+"ਮੁੱਲ ਨਹੀਂ ਹੈ।"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "ਮੇਨੂ ਫਾਇਲ"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "ਮੇਨੂ ਤਬਦੀਲੀਆਂ ਲਈ ਨਿਗਰਾਨ"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "<Exclude> ਐਂਟਰੀ ਸ਼ਾਮਲ"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "NoDisplay=true entries ਸ਼ਾਮਲ"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "ਗਲਤ ਡੈਸਕਟਾਪ ਫਾਇਲ ID"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[ਗਲਤ ਫਾਇਲ ਨਾਂ]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== ਮੇਨੂ ਬਦਲਿਆ ਗਿਆ, ਮੁੜ ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "ਮੇਨੂ ਲੜੀ ਖਾਲੀ ਹੈ"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- ਜਾਂਚ ਡੈਸਕਟਾਪ ਮੇਨੂ ਨਿਰਧਾਰਨ ਦਾ ਗਨੋਮ ਸਥਾਪਨ"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "ਯੂਨੀਵਰਸਲ ਪਹੁੰਚ ਨਾਲ ਸਬੰਧੀ ਪਸੰਦ"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "ਨਿੱਜੀ ਪਸੰਦ ਅਤੇ ਸੈਟਿੰਗ"
diff --git a/po/pl.po b/po/pl.po
new file mode 100644
index 0000000..b3de604
--- /dev/null
+++ b/po/pl.po
@@ -0,0 +1,280 @@
+# Copyright (C) 2001-2009 Free Software Foundation, Inc.
+# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+# Aviary.pl
+# Jeśli masz jakiekolwiek uwagi odnoszące się do tłumaczenia lub chcesz
+# pomóc w jego rozwijaniu i pielęgnowaniu, napisz do nas:
+# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-08-25 19:23+0200\n"
+"PO-Revision-Date: 2009-08-25 19:25+0100\n"
+"Last-Translator: Tomasz Dominikowski <[email protected]>\n"
+"Language-Team: Polish <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Poedit-Language: Polish\n"
+"X-Poedit-Country: Poland\n"
+"X-Poedit-SourceCharset: utf-8\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Multimedia"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Dźwięk i obraz"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programowanie"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Narzędzia do tworzenia oprogramowania"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Nauka"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Gry"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Gry i rozrywka"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafika"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Programy graficzne"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Sprzęt"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Ustawienia dla wielu urządzeń"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet i sieć "
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Ustawienia związane z siecią"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Wygląd"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Ustawienia wyglądu i działania środowiska"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programy umożliwiające dostęp do Internetu, jak strony WWW, czy e-mail"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Biuro"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Programy biurowe"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Osobiste"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Ustawienia osobiste"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Administracja"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Zmiana ustawień systemowych (wpływa na wszystkich użytkowników)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Ustawienia osobiste"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Preferencje"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "System"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Ustawienia systemowe"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Narzędzia systemowe"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Monitorowanie i konfiguracja systemu"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Dostęp uniwersalny"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Ustawienia uniwersalnego dostępu"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Akcesoria"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Akcesoria pulpitu"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Programy"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Preferencje osobiste i ustawienia administracyjne"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Programy niepasujące do innych kategorii"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Inne"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Edytor menu"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Modyfikuje menu"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "Progr_amy:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Domyślne"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menu:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Prosty edytor menu %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Nazwa"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Wyświetlanie"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment"
+msgstr "Nie można odnaleźć katalogu domowego: brak ustawień w /etc/passwd i wartości zmiennej środowiskowej $HOME"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Plik menu"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "PLIK_MENU"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Śledzenie zmian menu"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Włącznie z <wykluczonymi> elementami"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Włącznie z niewyświetlanymi elementami"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Niepoprawny ID pliku pulpitu"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Niepoprawna nazwa pliku]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <wykluczone>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Menu uległo zmianie, ponowne wczytywanie ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169
+#: ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Drzewo menu jest puste"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- testuje specyfikację menu pulpitu zaimplementowaną w środowisku MATE"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Preferencje związane z uniwersalną dostępnością"
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Ustawienia i osobiste preferencje"
+#~ msgid "Accessibility"
+#~ msgstr "Dostępność"
+#~ msgid "Accessibility Settings"
+#~ msgstr "Ustawienia dostępności"
+#~ msgid "Desktop"
+#~ msgstr "Pulpit"
+
diff --git a/po/ps.po b/po/ps.po
new file mode 100644
index 0000000..71bd58e
--- /dev/null
+++ b/po/ps.po
@@ -0,0 +1,259 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus.head\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-07-05 03:57+0000\n"
+"PO-Revision-Date: 2008-07-05 16:23-0800\n"
+"Last-Translator: Zabeeh Khan <[email protected]>\n"
+"Language-Team: Pashto <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Pashto, Pushto\n"
+"X-Poedit-Country: AFGHANISTAN\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "ګڼرسنۍ غورنۍ"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "غږ او وېډيو"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "پروګرامونه"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "د ساوترو جوړولو لپاره توکي"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "زدکړه"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "لوبې"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "لوبې او مهالتيري"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "کښنيزونه"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "کښنيزونو کاريالونه"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "هډوتري"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "د ډېرو هډوتري وزلو لپاره امستنې"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "اېنټرنېټ او ځال"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "ځال پورې تړلې امستنې"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "ښکارېدنه"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "د سرپاڼې د ښکارېدو او کړه وړې امستنې"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "اېنټرنېټ"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "د اېنټرنېټ د لاسرس لپاره کړنلارې لکه ګورت او برېښليک"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "افس"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "د افس کاريالونه"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "وګړيز"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "وګړيزې امستنې"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "پازوالنه"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "(په ټولو کارنانو کارول کيږي) غونډال-ارت امستنې بدلول"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "وکړيز غوراوي"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "غوراوي"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "غونډال"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "غونډال امستنې"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "غونډال توکي"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "د غونډال سازونه او ليدنه"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "نړېوال لاسرس"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "د نړېوال لاسرس امستنې"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "ملتوکي"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "د سرپاڼې ملتوکي"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "کاريالونه"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "وګړيز غوراوي او د پازوالنې امستنې"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "هغه کاريالونه چې په نورو ټولېو کې نه راځي"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "نور"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "غورنۍ سمونګر"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "غورنۍ سمول"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr ":کاريالونه_"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "تلواله_"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr ":غورنۍ_"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "نوم"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "ښودل"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment"
+msgstr ""
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "غورنۍ دوتنه"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "غورنۍ_دوتنه"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "د غورنېو د بدلونونو لپاره ليدانی"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr ""
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr ""
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "د سرپاڼې دوتنې ناسم پېژند"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[ناسم دوتنه نوم]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <ايستل شوي>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== غورنۍ بدله شوه، بيا لېښل کيږي ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169
+#: ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "غورنۍ ونه تشه ده"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr ""
+
diff --git a/po/pt.po b/po/pt.po
new file mode 100644
index 0000000..aa3d5f1
--- /dev/null
+++ b/po/pt.po
@@ -0,0 +1,282 @@
+# mate-menus' Portuguese translation.
+# Copyright © 2004, 2005, 2006, 2007, 2009 mate-menus
+# This file is distributed under the same license as the mate-menus package.
+# Duarte Loreto <[email protected]>, 2004, 2005, 2006, 2007, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: 2.28\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-08-27 08:57+0100\n"
+"PO-Revision-Date: 2009-08-27 09:00+0000\n"
+"Last-Translator: Duarte Loreto <[email protected]>\n"
+"Language-Team: Portuguese <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Menu de multimédia"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Som & Vídeo"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Desenvolvimento"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Ferramentas para o desenvolvimento de aplicações"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Educação"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Jogos"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Jogos e passatempos"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Gráficos"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Aplicações gráficas"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Equipamento"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Definições para vários dispositivos de equipamento"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet e Rede"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Definições relacionadas com a rede"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Aparência e Comportamento"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr ""
+"Definições que controlam a aparência e comportamento do ambiente de trabalho"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Aplicações para o acesso à Internet tais como web e email"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Produtividade"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Aplicações de Produtividade"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Pessoal"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Definições pessoais"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Administração"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Alterar definições de sistema (afecta todos os utilizadores)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Preferências pessoais"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Preferências"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Sistema"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Definições de sistema"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Ferramentas de Sistema"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Configuração de sistema e monitorização"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Acesso Universal"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Definições de Acesso Universal"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Acessórios"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Acessórios de área de trabalho"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Aplicações"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Preferências pessoais e definições de administração"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Aplicações que não se enquadravam em nenhuma outra categoria"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Outras"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Editor de Menus"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Editar os Menus"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Aplicações:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Omissões"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menus:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Editor de Menus %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Nome"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Apresentar"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Incapaz de encontrar o directório pessoal: não se encontra definido em /etc/"
+"passwd e a variável de ambiente $HOME não possui nenhum valor"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Ficheiro de menu"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "FICHEIRO_MENU"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Monitor de alterações ao menu"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Incluir entradas <Exclude> (excluídas)"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Incluir entradas NoDisplay=true"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "ID de ficheiro de área de trabalho inválido"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Nome de ficheiro inválido]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded> (excluído)"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Menu alterado, a reler ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Árvore de menu está vazia"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr ""
+"- testar a implementação MATE da Especificação de Menu de Área de Trabalho"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Preferências relacionadas com o acesso universal"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Preferências e definições pessoais"
+
+#~ msgid "Accessibility"
+#~ msgstr "Acessibilidade"
+
+#~ msgid "Accessibility Settings"
+#~ msgstr "Definições de Acessibilidade"
+
+#~ msgid "Desktop"
+#~ msgstr "Área de Trabalho"
diff --git a/po/pt_BR.po b/po/pt_BR.po
new file mode 100644
index 0000000..fd4fc35
--- /dev/null
+++ b/po/pt_BR.po
@@ -0,0 +1,316 @@
+# Brazilian Portuguese translation of MATE Menus.
+# Copyright (C) 2004-2008 the MATE Menu authors.
+# This file is distributed under the same license as the mate-menus package.
+# Raphael Higino <In Memoriam>, 2004-2005.
+# Afonso Celso Medina <[email protected]>, 2005.
+# Og Maciel <[email protected]>, 2006-2007.
+# Leonardo Ferreira Fontenelle <[email protected]>, 2007, 2008.
+# Fabrício Godoy <[email protected]>, 2008
+# Krix Apolinário <[email protected]>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-"
+"menus&component=general\n"
+"POT-Creation-Date: 2009-08-04 16:15+0000\n"
+"PO-Revision-Date: 2009-08-30 19:55-0300\n"
+"Last-Translator: Krix Apolinário <[email protected]>\n"
+"Language-Team: Brazilian Portuguese <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Menu multimídia"
+
+# Traduzir "Sound & Video" como "Multimídia" é o resultado de uma padronização
+# do menu Aplicativos do MATE com os seus equivalentes no KDE e no XFCE.
+#
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Multimídia"
+
+# Traduzir "Programming" como "Desenvolvimento" é o resultado de uma
+# padronização do menu Aplicativos do MATE com os seus equivalentes
+# em outros ambientes de trabalho, mais precisamente KDE e XFCE.
+#
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Desenvolvimento"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Ferramentas para desenvolvimento de software"
+
+# Traduzir "Education" como "Educativo" é o resultado de uma padronização do
+# menu Aplicativos do MATE com os seus equivalentes em outros ambientes de
+# trabalho, mais precisamente KDE e XFCE.
+#
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Educativo"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Jogos"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Jogos e diversões"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Gráficos"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Aplicativos gráficos"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Hardware"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Configurações para vários dispositivos de hardware"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet e rede"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Configurações de rede"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Visual e comportamento"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr ""
+"Configurações que controlam o visual e o comportamento da área de trabalho"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programas para acesso à Internet tais como web e e-mail"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Escritório"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Aplicativos de escritório"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Pessoal"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Configurações pessoais"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Administração"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr ""
+"Modifique configurações gerais do sistema (isso afeta a todos os usuários)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Preferências pessoais"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Preferências"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Sistema"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Configurações do sistema"
+
+# Essa alteração, Ferramentas do Sistema → Sistema, não foi discutida mas
+# acredito que todos vão aprovar. Assim jogamos esse submenu para o fim da
+# lista, facilitando para a maioria dos usuários o acesso aos aplicativos
+# mais cotidianos.
+#
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Sistema"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Configuração e monitoramento do sistema"
+
+# Traduzir "Universal Access" como "Acessibilidade" é o resultado de uma
+# padronização do menu Aplicativos do MATE com os seus equivalentes
+# em outros ambientes de trabalho, mais precisamente KDE e XFCE.
+#
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Acessibilidade"
+
+# Traduzir "Universal Access" como "Acessibilidade" é o resultado de uma
+# padronização do menu Aplicativos do MATE com os seus equivalentes
+# em outros ambientes de trabalho, mais precisamente KDE e XFCE.
+#
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Configurações de acessibilidade"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Acessórios"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Acessórios da área de trabalho"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Aplicativos"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Preferências pessoais e configurações de administração"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Aplicativos que não se encaixam em outras categorias"
+
+# Outros aplicativOs
+#
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Outros"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Editor do Menu"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Editar menus"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Aplicativos:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Padrões"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menus:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Editor simples de menu %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Nome"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Mostrar"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Não foi possível localizar o diretório home: não está definido em /etc/"
+"passwd e nenhum valor para $HOME nas variáveis de ambiente"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Arquivo de menu"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "ARQUIVO_DE_MENU"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Monitora alterações do menu"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Inclui entradas <Exclude>d"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Inclui entradas NoDisplay=true"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "ID do arquivo da área de trabalho inválido"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Nome de arquivo inválido]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Menu alterado, recarregando ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "A árvore do menu está vazia"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr ""
+"- testa a implementação MATE da Especificação de Menu da Área de Trabalho"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Preferências relativas ao acesso universal"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Preferências e configurações pessoais"
+
+#~ msgid "Accessibility"
+#~ msgstr "Acessibilidade"
+
+#~ msgid "Accessibility Settings"
+#~ msgstr "Configurações de acessibilidade"
+
+#~ msgid "Desktop"
+#~ msgstr "Área de Trabalho"
diff --git a/po/ro.po b/po/ro.po
new file mode 100644
index 0000000..08d02eb
--- /dev/null
+++ b/po/ro.po
@@ -0,0 +1,269 @@
+# Romanian translation of mate-menus.
+# Copyright (C) 2005-2008 Free Software Foundation, Inc.
+# This file is distributed under the same license as the mate-menus package.
+# Dan Damian <[email protected]>, 2005.
+# Alexandru Szasz <[email protected]>, 2007.
+# Adi Roiban <[email protected]>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-"
+"menus&component=general\n"
+"POT-Creation-Date: 2009-09-07 00:30+0000\n"
+"PO-Revision-Date: 2009-09-16 16:01+0300\n"
+"Last-Translator: Adi Roiban <[email protected]>\n"
+"Language-Team: Romanian <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Meniu multimedia"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Multimedia"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programare"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Unelte pentru dezvoltare de software"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Educație"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Jocuri"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Jocuri și divertisment"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafică"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Aplicații pentru grafică"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Hardware"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Opțiuni hardware"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet și rețea"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Opțiuni de rețea"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Aspect și comportament"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Opțiuni privind aspectul și comportamentul desktopului"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programe pentru acessul la Internet (navigare, mail etc.)"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Birou"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Aplicații de birou"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Personal"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Opțiuni personale"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Administrare"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Configurarea sistemului (afectează toți utilizatorii)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Preferințe personale"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Preferințe"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Sistem"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Configurări de sistem"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Utilitare de sistem"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Configurare și monitorizare a sistemului"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Accesibilitate"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Opțiuni de accesibilitate"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Accesorii"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Accesorii pentru desktop"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Aplicații"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Preferințe personale și configurări administrative"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Aplicații ce nu se încadrează în alte categorii"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Diverse"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Editor meniu"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Editare meniuri"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Aplicații:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Opțiuni implicite"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Meniuri:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Editor simplu de meniu %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Nume"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Afișare"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Nu se găsește directorul „Acasă”: nu este setat în /etc/passwd și nu există "
+"o valoare pentru variabila de mediu $HOME"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Fișier meniu"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Monitorizează schimbările din menu"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Include elementele cu eticheta <Exclude>"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Include intrările cu „NoDisplay=true”"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "ID de fișier desktop invalid"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Nume invalid de fișier]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <exclus>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Meniu schimbat, se reîncarcă ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Arborele de meniuri este gol"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- testare a implementării MATE pentru „Desktop Menu Specification”"
+
diff --git a/po/ru.po b/po/ru.po
new file mode 100644
index 0000000..911134c
--- /dev/null
+++ b/po/ru.po
@@ -0,0 +1,274 @@
+# translation of mate-menus to Russian
+# Copyright (C) 1998-2003, 2005, 2006, 2007 Free Software Foundation, Inc.
+#
+# Dmitry G. Mastrukov <[email protected]>, 2004.
+# Leonid Kanter <[email protected]>, 2005, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus trunk\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-10-20 12:05+0300\n"
+"PO-Revision-Date: 2009-10-13 14:26+0300\n"
+"Last-Translator: Dmitry Yacenko <[email protected]>\n"
+"Language-Team: Russian <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Мультимедиа"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Аудио и видео"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Программирование"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Средства для разработки программ"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Образовательные"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Игры"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Игры и развлечения"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Графика"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Графические приложения"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Оборудование"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Параметры нескольких аппаратных устройств"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Интернет и сеть"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Параметры, относящиеся к настройке сети"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Оформление"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Параметры, влияющие на внешний вид и поведение рабочего стола"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Интернет"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Программы для работы с Интернетом (почта, браузер и т.п.)"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Офис"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Офисные приложения"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Персональные"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Персональные параметры"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Администрирование"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Изменение системных установок (влияет на всех пользователей)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Персональные предпочтения"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Параметры"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Система"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Системные параметры"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Системные"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Средства конфигурации и мониторинга системы"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Специальные возможности"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Параметры специальных возможностей"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Стандартные"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Стандартные приложения"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Приложения"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Личные предпочтения и административные параметры"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Приложения, не подпадающие ни под какие категории"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Прочие"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Редактор меню"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Редактирование меню"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Приложения:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Исходный вид"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Меню:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Простой редактор меню %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Имя"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Отображать"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Не удается найти домашний каталог: не установлен ни в /etc/passwd, ни при "
+"помощи переменной $HOME"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Файл меню"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Отслеживать изменения в меню"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Включать исключенные элементы"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Включать элементы NoDisplay=true"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Неверный ID desktop-файла"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[неверное имя файла]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Меню изменено, перегружается ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Дерево меню пусто"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr ""
+"- проверка реализации спецификации Desktop Menu, использованной в MATE"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Параметры, связанные со специальными возможностями"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Персональные настройки и установки"
diff --git a/po/rw.po b/po/rw.po
new file mode 100644
index 0000000..8dc4d3b
--- /dev/null
+++ b/po/rw.po
@@ -0,0 +1,150 @@
+# translation of mate-menus to Kinyarwanda.
+# Copyright (C) 2005 Free Software Foundation, Inc.
+# This file is distributed under the same license as the mate-menus package.
+# Steve Murphy <[email protected]>, 2005
+# Steve performed initial rough translation from compendium built from translations provided by the following translators:
+# Philibert Ndandali <[email protected]>, 2005.
+# Viateur MUGENZI <[email protected]>, 2005.
+# Noëlla Mupole <[email protected]>, 2005.
+# Carole Karema <[email protected]>, 2005.
+# JEAN BAPTISTE NGENDAHAYO <[email protected]>, 2005.
+# Augustin KIBERWA <[email protected]>, 2005.
+# Donatien NSENGIYUMVA <[email protected]>, 2005..
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus 2.12\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2005-03-31 17:36-0700\n"
+"PO-Revision-Date: 2005-03-28 19:35-0700\n"
+"Last-Translator: Steve Murphy <[email protected]>\n"
+"Language-Team: Kinyarwanda <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+# offmgr/source\offapp\dialog\treeopt.src:RID_OFADLG_OPTIONS_TREE_PAGES.SID_GENERAL_OPTIONS.13.text
+#: desktop-directories/Accessibility.directory.in.h:1
+#: desktop-directories/Settings-Accessibility.directory.in.h:1
+msgid "Accessibility"
+msgstr "Ubushobozi bwo gukoreshwa"
+
+#: desktop-directories/Accessibility.directory.in.h:2
+msgid "Accessibility Settings"
+msgstr ""
+
+#: desktop-directories/Accessories.directory.in.h:1
+msgid "Accessories"
+msgstr ""
+
+#: desktop-directories/Accessories.directory.in.h:2
+msgid "Desktop accessories"
+msgstr ""
+
+#: desktop-directories/Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Porogaramu"
+
+#: desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr ""
+
+#: desktop-directories/Development.directory.in.h:2
+#, fuzzy
+msgid "Tools for software development"
+msgstr "kugirango"
+
+#: desktop-directories/Edutainment.directory.in.h:1
+msgid "Edutainment"
+msgstr ""
+
+#: desktop-directories/Games.directory.in.h:1
+msgid "Games"
+msgstr ""
+
+#: desktop-directories/Games.directory.in.h:2
+#, fuzzy
+msgid "Games and amusements"
+msgstr "Na"
+
+#: desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Ibishushanyo"
+
+#: desktop-directories/Graphics.directory.in.h:2
+#, fuzzy
+msgid "Graphics applications"
+msgstr "Porogaramu"
+
+# officecfg/registry\schema\org\openoffice\Office\Common.xcs:....Save.URL.Internet.text
+#: desktop-directories/Internet.directory.in.h:1
+msgid "Internet"
+msgstr "Interineti"
+
+#: desktop-directories/Internet.directory.in.h:2
+#, fuzzy
+msgid "Programs for Internet access such as web and email"
+msgstr "kugirango Nka Urubuga Na imeli"
+
+#: desktop-directories/Multimedia.directory.in.h:1
+#, fuzzy
+msgid "Multimedia menu"
+msgstr "Ibikubiyemo"
+
+#: desktop-directories/Multimedia.directory.in.h:2
+msgid "Sound & Video"
+msgstr ""
+
+# svx/source\gallery2\galtheme.src:RID_GALLERYSTR_THEME_OFFICE.text
+#: desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Ofise"
+
+#: desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr ""
+
+#: desktop-directories/Other.directory.in.h:1
+#, fuzzy
+msgid "Applications that did not fit in other categories"
+msgstr "OYA in Ikindi Ibyiciro"
+
+# framework/source\classes\fltdlg.src:STR_FILTER_OTHERS.text
+#: desktop-directories/Other.directory.in.h:2
+msgid "Other"
+msgstr "Ikindi"
+
+#: desktop-directories/Settings-Accessibility.directory.in.h:2
+#, fuzzy
+msgid "Accessibility related preferences"
+msgstr "Ibyahiswemo"
+
+#: desktop-directories/Settings.directory.in.h:1
+#, fuzzy
+msgid "Personal preferences and settings"
+msgstr "Ibyahiswemo Na Amagenamiterere"
+
+# extracted from content/PrefsWindow.xul
+# LOCALIZATION NOTE : FILE UI for the outer parts of the Prefs dialog
+#: desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Ibyahisemo"
+
+# 89
+#: desktop-directories/System-Settings.directory.in.h:1
+msgid "Administration"
+msgstr "ubuyobozi"
+
+#: desktop-directories/System-Settings.directory.in.h:2
+#, fuzzy
+msgid "Change systemwide settings (affects all users)"
+msgstr "Amagenamiterere Byose"
+
+#: desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr ""
+
+#: desktop-directories/System-Tools.directory.in.h:2
+#, fuzzy
+msgid "System configuration and monitoring"
+msgstr "Iboneza Na"
diff --git a/po/si.po b/po/si.po
new file mode 100644
index 0000000..f60045a
--- /dev/null
+++ b/po/si.po
@@ -0,0 +1,271 @@
+# translation of mate-menus.po to Sinhala
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Danishka Navin <[email protected]>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-05-29 03:37+0100\n"
+"PO-Revision-Date: 2007-06-20 16:27+0530\n"
+"Last-Translator: Danishka Navin <[email protected]>\n"
+"Language-Team: Sinhala <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../desktop-directories/Accessibility.directory.in.h:1
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "විශ්ව පිවිසුම"
+
+#: ../desktop-directories/Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "විශ්ව පිවිසුම් සැකසුම්"
+
+#: ../desktop-directories/Accessories.directory.in.h:1
+msgid "Accessories"
+msgstr "උපාංග"
+
+#: ../desktop-directories/Accessories.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "මූලික තිරය උපාංග"
+
+#: ../desktop-directories/Applications.directory.in.h:1
+msgid "Applications"
+msgstr "යෙදුම්"
+
+#: ../desktop-directories/Desktop.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "පුත්ගලික අභිප්‍රේත සහ පාලන සැකසුම්"
+
+#: ../desktop-directories/Desktop.directory.in.h:2
+#: ../desktop-directories/System.directory.in.h:1
+msgid "System"
+msgstr "පද්දති"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "කේතරචනය"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "මෘදුකාංග සංවර්ධන මෙවලම්"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "අධ්‍යාපනිකපනික"
+
+#: ../desktop-directories/Games.directory.in.h:1
+msgid "Games"
+msgstr "ක්‍රිඩා"
+
+#: ../desktop-directories/Games.directory.in.h:2
+msgid "Games and amusements"
+msgstr "ක්‍රිඩා සහ විනොදාශ්වාද"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "චිත්‍ර"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "චිත්‍රක යෙදුම්"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "දෘඩාංග"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "විවිධ දෘඩාංග උපාංග සදහා සැකසුම්"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "අන්තර්ජාලය සහ ජාලය"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "ජාලය සම්බන්ද සැකසුම්"
+
+#: ../desktop-directories/Internet.directory.in.h:1
+msgid "Internet"
+msgstr "අන්තර්ජාලය"
+
+#: ../desktop-directories/Internet.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "අන්තර්ජාලය පිවිසුමට වියුණු සහ ඉලෙක්ට්‍රොනික තැපෑල වැනි කේතයන්"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "පෙනුම සහ දැනිම"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "මුලිකතිතයෙ පෙනුම සහ ක්‍රියාකාරිත්වය පාලනය කරන්නාවු සැකසුම්්"
+
+#: ../desktop-directories/Multimedia.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "බහුමාද්‍ය මෙනුව"
+
+#: ../desktop-directories/Multimedia.directory.in.h:2
+msgid "Sound & Video"
+msgstr "ශබ්ද සහ දෘශ්‍ය"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "කාර්‍යයාලීය"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "කාර්‍යාලිය යෙදුම්"
+
+#: ../desktop-directories/Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "වෙනත් ප්‍රභේද වලට අයත් නොවු යෙදුම්"
+
+#: ../desktop-directories/Other.directory.in.h:2
+msgid "Other"
+msgstr "වෙනත්"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "පුද්ගලික"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "පුද්ගලික සැකසුම්"
+
+#: ../desktop-directories/Preferences.directory.in.h:1
+msgid "Personal preferences"
+msgstr "පුද්ගලික අභිප්‍රේත"
+
+#: ../desktop-directories/Preferences.directory.in.h:2
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "අභිප්‍රේත"
+
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:2
+msgid "Universal access related preferences"
+msgstr "විශ්ව පිවිසුම් හා සබැදි අභිප්‍රේත"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences and settings"
+msgstr "පුද්ගලික අභිප්‍රේත සහ සැකසුම්"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "පද්දති සැකසුම්"
+
+#: ../desktop-directories/System-Settings.directory.in.h:1
+msgid "Administration"
+msgstr "පරිපාලනය"
+
+#: ../desktop-directories/System-Settings.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "පද්ධති පුරා සැකසුම් වෙනස් කරන්න (සියළුම පරිශීලකයන්ට බලපානු ඇත)"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "පද්දති මෙවලම්"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "පද්දති සුසර කිරිම සහ නිරික්ෂණය"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "මෙනු සංස්කරණය"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "මෙනු වෙනස්කරන්න"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "යෙදුම්: (_A)"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "සාමාන්‍ය (_D)"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "මෙනු: (_M)"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123
+msgid "Name"
+msgstr "නම"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115
+msgid "Show"
+msgstr "පෙන්වීම"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"හොම් ඩිරෙක්ටරිය සොයාගත නොහැක: /etc/passwd සකසා නැති අතර පරිසරයෙ $HOME "
+"සදහා අගයක් නැත"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "මෙනු ගොනුව"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "මෙනු වෙනස්කම් සඳහා නිරික්ෂණය"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "<Exclude>ඇතුලත් කිරිම් අඩංගුව ඇත"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "NoDisplay=true ඇතුලත් කිරිම් අඩංගුව ඇත"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "සාවද්‍ය මූලික තිරයෙ ගොනු අංකය"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[සාවද්‍ය ගොනු නම]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== මෙනුව වෙනස්විය, රිලොඩ් වෙමින් පවතියි ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "ම්නුව අන්තර්ගතය හිස්"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- MATE හි මූලික තිරයෙ මෙනුවෙ ග විශේෂ ක්‍රියාවෙහි යෙදවිම පරික්‍ෂාකරනය"
+
diff --git a/po/sk.po b/po/sk.po
new file mode 100644
index 0000000..60f233a
--- /dev/null
+++ b/po/sk.po
@@ -0,0 +1,213 @@
+# Slovak translation for mate-menus.
+# Copyright (C) 2004, 2005, 2007, 2010 Free Software Foundation, Inc.
+# This file is distributed under the same license as the mate-menus package.
+# Marcel Telka <[email protected]>, 2004, 2005.
+# Peter Tuharsky <[email protected]>, 2007.
+# Pavol Klačanský <[email protected]>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-"
+"menus&component=general\n"
+"POT-Creation-Date: 2010-02-22 19:18+0000\n"
+"PO-Revision-Date: 2010-02-09 18:14+0100\n"
+"Last-Translator: Pavol Klačanský <[email protected]>\n"
+"Language-Team: Slovak <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Ponuka multimédií"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Zvuk a video"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programovanie"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Nástroje pre vývoj softvéru"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Vzdelávanie"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Hry"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Hry a zábava"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafika"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Grafické aplikácie"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Hardvér"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Nastavenia pre niektoré hardvérové zariadenia"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet a sieť"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Nastavenia súvisiace so sieťou"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Vzhľad a dojem"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Nastavenia ovládajúce vzhľad a správanie pracovnej plochy"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programy pre prístup k internetu, ako je www a e-mail"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Kancelária"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Kancelárske aplikácie"
+
+#. Translators: this is Personal as in "Personal settings"
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal"
+msgstr "Osobné"
+
+#: ../desktop-directories/Personal.directory.in.h:3
+msgid "Personal settings"
+msgstr "Osobné nastavenia"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Správa"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Zmeniť nastavenia pre celý systém (ovplyvní všetkých používateľov)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Osobné predvoľby"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Predvoľby"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Systém"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Systémové nastavenia"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Systémové nástroje"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Systémová konfigurácia a sledovanie"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Univerzálny prístup"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Nastavenia univerzálneho prístupu"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Príslušenstvo"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Príslušenstvo pracovnej plochy"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Aplikácie"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Osobné predvoľby a správcovské nastavenia"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Aplikácie, ktoré nezapadajú do ostatných kategórií"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Ostatné"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Editor ponúk"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Upraviť ponuky"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Aplikácie:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Predvolené"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Ponuky:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Jednoduchý editor ponúk %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Názov"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Zobraziť"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Nepodarilo sa nájsť domovský priečinok: nie je nastavený v /etc/passwd a nie "
+"je nastavená hodnota $HOME v prostredí"
diff --git a/po/sl.po b/po/sl.po
new file mode 100644
index 0000000..0b98686
--- /dev/null
+++ b/po/sl.po
@@ -0,0 +1,274 @@
+# Slovenian translation for mate-menues.
+# Copyright (C) 2005-2007 Free Software Foundation, Inc.
+# This file is distributed under the same license as the program package.
+#
+# Matic Žgur <[email protected]>, 2006.
+# Matej Urbančič <[email protected]>, 2005 - 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n"
+"POT-Creation-Date: 2009-07-29 23:45+0000\n"
+"PO-Revision-Date: 2010-05-21 22:19+0100\n"
+"Last-Translator: Matej Urbančič <[email protected]>\n"
+"Language-Team: Slovenian MATE Translation Team <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n"
+"X-Poedit-Language: Slovenian\n"
+"X-Poedit-Country: SLOVENIA\n"
+"X-Poedit-SourceCharset: utf-8\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Večpredstavnostni meni"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Zvok in video"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programiranje"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Orodja za razvoj programske opreme"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Izobraževanje"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Igre"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Igre in zabava"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafika"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Grafični programi"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Strojna oprema"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Nastavitve več strojnih naprav"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Splet in omrežje"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Nastavitve omrežja"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Videz in občutek"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Nastavitve videza in obnašanja namizja"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Splet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programi za dostop do spleta, kot sta brskalnik in elektronska pošta"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Pisarna"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Pisarniški programi"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Osebno"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Osebne nastavitve"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Skrbništvo"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Spremeni sistemske nastavitve (za vse uporabnike)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Osebne možnosti"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Možnosti"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Sistem"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Sistemske nastavitve"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Sistemska orodja"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Nastavitve in nadziranje sistema"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Splošni dostop"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Splošne nastavitve dostopa"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Pripomočki"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Namizni pripomočki"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Programi"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Osebne možnosti in skrbniške nastavitve"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Programi, ki ne sodijo v druge kategorije"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Ostalo"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Urejevalnik menijev"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Uredi menije"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Programi:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Privzeto"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Meniji:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Enostavni urejevalnik menijev %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Ime"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Pokaži"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment"
+msgstr "Ni mogoče najti domače mape: ni določila v /etc/passwd in ni vrednosti spremenljivke $HOME"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Datoteka menija"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Spremljaj spremembe menija"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Vključi <izločene> vnose"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Vključi vnose NoDisplay=true"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Neveljaven ID datoteke namizja"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Nepravilno ime datoteke]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <izločeno>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Meni je spremenjen; ponovno bo naložen ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169
+#: ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Drevesna zgradba menija je prazna"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- preizkus MATE orodja za določanje namiznega menija"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Splošne možnosti dostopa"
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Osebne možnosti in nastavitve"
+
diff --git a/po/sq.po b/po/sq.po
new file mode 100644
index 0000000..ea6bb14
--- /dev/null
+++ b/po/sq.po
@@ -0,0 +1,278 @@
+# Përkthimi i mesazheve të mate-menus në shqip
+# Copyright (C) 2005 THE mate-menus'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the mate-menus package.
+# Elian Myftiu <[email protected]>, 2005-2007.
+# Laurent Dhima <[email protected]>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus mate-2-22\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-03-21 11:37+0100\n"
+"PO-Revision-Date: 2008-07-15 19:21+0200\n"
+"Last-Translator: Laurent Dhima <[email protected]>\n"
+"Language-Team: albanian <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../desktop-directories/Accessibility.directory.in.h:1
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Hyrje universale"
+
+#: ../desktop-directories/Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Rregullimet për hyrjen universale"
+
+#: ../desktop-directories/Accessories.directory.in.h:1
+msgid "Accessories"
+msgstr "Aksesorë"
+
+#: ../desktop-directories/Accessories.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Aksesorë hapësire pune"
+
+#: ../desktop-directories/Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Programe"
+
+#: ../desktop-directories/Desktop.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Preferimet vetjake dhe rregullimet administrative"
+
+#: ../desktop-directories/Desktop.directory.in.h:2
+#: ../desktop-directories/System.directory.in.h:1
+msgid "System"
+msgstr "Sistemi"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programim"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Vegla për zhvillim programesh"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Edukim"
+
+#: ../desktop-directories/Games.directory.in.h:1
+msgid "Games"
+msgstr "Lojra"
+
+#: ../desktop-directories/Games.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Lojra dhe argëtime"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafikë"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Programe grafiku"
+
+# (pofilter) unchanged: please translate
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Hardware"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Rregullime për dispozitivë të ndryshëm"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet dhe Rrjet"
+
+# (pofilter) simplecaps: checks the capitalisation of two strings isn't wildly different
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Rregullime lidhur me Rrjetin"
+
+# (pofilter) unchanged: please translate
+#: ../desktop-directories/Internet.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+# (pofilter) brackets: translation has extra '(', ')'
+#: ../desktop-directories/Internet.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programe për hyrje në Internet (si p.sh. rrjeti dhe posta elektronike)"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Pamje dhe Ndjesi"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Rregullime që kontrollojnë pamjen e hapësirës së punës dhe sjelljen"
+
+#: ../desktop-directories/Multimedia.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Menu multimediale"
+
+#: ../desktop-directories/Multimedia.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Zë & Video"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Zyrë"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Programe Zyre"
+
+#: ../desktop-directories/Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Programe që nuk gjejnë vend në kategori të tjera"
+
+#: ../desktop-directories/Other.directory.in.h:2
+msgid "Other"
+msgstr "Tjetër"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Vetjake"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Rregullime vetjake"
+
+#: ../desktop-directories/Preferences.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Preferime vetjake"
+
+#: ../desktop-directories/Preferences.directory.in.h:2
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Preferime"
+
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:2
+msgid "Universal access related preferences"
+msgstr "Preferime në lidhje me hyrjen universale"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences and settings"
+msgstr "Preferime dhe rregullime vetjake"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Rregullime sistemi"
+
+#: ../desktop-directories/System-Settings.directory.in.h:1
+msgid "Administration"
+msgstr "Administrim"
+
+#: ../desktop-directories/System-Settings.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Ndrysho rregullimet në rang sistemi (ndikon tek të gjithë përdoruesit)"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Vegla Sistemi"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Konfigurim dhe vëzhgim sistemi"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Ndryshues Menuje"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "Ndrysho Menutë"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "_Programe:"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "_Parazgjedhur"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "_Menutë:"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Emri"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Shfaq"
+
+# (pofilter) filepaths: checks that file paths have not been translated
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"E pamundur gjetja e kartelës shtëpi. e pacaktuar në /etc/password dhe asnjë "
+"vlerë për $HOME në mjedis"
+
+# (pofilter) simplecaps: checks the capitalisation of two strings isn't wildly different
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "File Menuje"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Vëzhgues ndryshuesi menuje"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Përfshi <Exclude>d zërat"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Përfshi zërat NoDisplay=true"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "ID file hapësire pune i pavlefshëm"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Emër i pavlefshëm file]"
+
+# (pofilter) unchanged: please translate
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"=== Menuja ndryshoi, duke ringarkuar ===\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Pema e menusë është bosh"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- provo implementimin e Specifikimit të Menuve MATE"
+
diff --git a/po/sr.po b/po/sr.po
new file mode 100644
index 0000000..9dc8619
--- /dev/null
+++ b/po/sr.po
@@ -0,0 +1,287 @@
+# Serbian translation of mate-menus
+# Courtesy of Prevod.org team (http://prevod.org/) -- 2004 - 2009.
+#
+# This file is distributed under the same license as the mate-menus package.
+#
+# Maintainer: Данило Шеган <[email protected]>
+# Reviewed on 2005-09-03 by: Данило Шеган <[email protected]>"
+# Transalted on 2006-01-31 by: Слободан Д. Средојевић <[email protected]>
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-"
+"menus&component=general\n"
+"POT-Creation-Date: 2009-06-21 17:35+0000\n"
+"PO-Revision-Date: 2007-09-12 01:22+0200\n"
+"Last-Translator: Горан Ракић <[email protected]>\n"
+"Language-Team: Serbian (sr) <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Мени за мултимедију"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Звук и покретне слике"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Програмирање"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Алатке за развој софтвера"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Образовање"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Игре"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Игре и забава"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Графика"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Графички програми"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Уређаји"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Подешавања за неке уређаје"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Интернет и мрежа"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Мрежна подешавања"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Изглед и понашање"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Подешавање изгледа и понашања радног окружења"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Интернет"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Програми за приступ Интернету као што је веб и е-пошта"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Канцеларија"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Програми за канцеларију"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Лично"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Лична подешавања"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Администрација"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Промените системска подешавања (утиче на све кориснике)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Личне поставке"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Поставке"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Систем"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Подешавања система"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Системске алатке"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Подешавање и праћење система"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Универзални приступ"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Подешавања универзалног приступа"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Алатке"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Алатке окружења"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Програми"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Личне поставке и администраторска подешавања"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Програми који не припадају осталим категоријама"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Остало"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Уређивач менија"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Уреди меније"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Програми:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "По_дразумевани"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Менији:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+#| msgid "Menu Editor"
+msgid "Simple Menu Editor %s"
+msgstr "Уређивач менија %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Назив"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Прикажи"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Не могу да нађем лични директоријум: није постављен у /etc/passwd а нема ни "
+"вредности $HOME у окружењу"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Датотека менија"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "ДАТОТЕКА_МЕНИЈА"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Прати измене менија"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Укључи изузете ставке"
+
+# bug(slobo): може ли боље?
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Укључи ставке које не треба да се виде"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Неисправан ИБ .desktop датотеке"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Неисправно име датотеке]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <искључена>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Мени је измењен, поновно учитавање је у току ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Стабло менија је празно"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "— испробава Гномову изведбу Спецификације за меније окружења"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Поставке у вези универзалног приступа"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Личне поставке и подешавања"
+
+#~ msgid "Accessibility"
+#~ msgstr "Приступачност"
+
+#~ msgid "Accessibility Settings"
+#~ msgstr "Подешавања приступачности"
+
+#~ msgid "Desktop"
+#~ msgstr "Окружење"
diff --git a/po/[email protected] b/po/[email protected]
new file mode 100644
index 0000000..6410c3b
--- /dev/null
+++ b/po/[email protected]
@@ -0,0 +1,287 @@
+# Serbian translation of mate-menus
+# Courtesy of Prevod.org team (http://prevod.org/) -- 2004 - 2009.
+#
+# This file is distributed under the same license as the mate-menus package.
+#
+# Maintainer: Danilo Šegan <[email protected]>
+# Reviewed on 2005-09-03 by: Danilo Šegan <[email protected]>"
+# Transalted on 2006-01-31 by: Slobodan D. Sredojević <[email protected]>
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-"
+"menus&component=general\n"
+"POT-Creation-Date: 2009-06-21 17:35+0000\n"
+"PO-Revision-Date: 2007-09-12 01:22+0200\n"
+"Last-Translator: Goran Rakić <[email protected]>\n"
+"Language-Team: Serbian (sr) <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Meni za multimediju"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Zvuk i pokretne slike"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programiranje"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Alatke za razvoj softvera"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Obrazovanje"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Igre"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Igre i zabava"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafika"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Grafički programi"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Uređaji"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Podešavanja za neke uređaje"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet i mreža"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Mrežna podešavanja"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Izgled i ponašanje"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Podešavanje izgleda i ponašanja radnog okruženja"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Programi za pristup Internetu kao što je veb i e-pošta"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Kancelarija"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Programi za kancelariju"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Lično"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Lična podešavanja"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Administracija"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Promenite sistemska podešavanja (utiče na sve korisnike)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Lične postavke"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Postavke"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Sistem"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Podešavanja sistema"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Sistemske alatke"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Podešavanje i praćenje sistema"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Univerzalni pristup"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Podešavanja univerzalnog pristupa"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Alatke"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Alatke okruženja"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Programi"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Lične postavke i administratorska podešavanja"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Programi koji ne pripadaju ostalim kategorijama"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Ostalo"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Uređivač menija"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Uredi menije"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Programi:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "Po_drazumevani"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Meniji:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+#| msgid "Menu Editor"
+msgid "Simple Menu Editor %s"
+msgstr "Uređivač menija %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Naziv"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Prikaži"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Ne mogu da nađem lični direktorijum: nije postavljen u /etc/passwd a nema ni "
+"vrednosti $HOME u okruženju"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Datoteka menija"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "DATOTEKA_MENIJA"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Prati izmene menija"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Uključi izuzete stavke"
+
+# bug(slobo): može li bolje?
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Uključi stavke koje ne treba da se vide"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Neispravan IB .desktop datoteke"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Neispravno ime datoteke]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <isključena>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Meni je izmenjen, ponovno učitavanje je u toku ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Stablo menija je prazno"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "— isprobava Gnomovu izvedbu Specifikacije za menije okruženja"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Postavke u vezi univerzalnog pristupa"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Lične postavke i podešavanja"
+
+#~ msgid "Accessibility"
+#~ msgstr "Pristupačnost"
+
+#~ msgid "Accessibility Settings"
+#~ msgstr "Podešavanja pristupačnosti"
+
+#~ msgid "Desktop"
+#~ msgstr "Okruženje"
diff --git a/po/sv.po b/po/sv.po
new file mode 100644
index 0000000..de29577
--- /dev/null
+++ b/po/sv.po
@@ -0,0 +1,310 @@
+# Swedish messages for mate-menus.
+# Copyright (C) 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
+# Christian Rose <[email protected]>, 2004, 2005, 2006.
+# Daniel Nylander <[email protected]>, 2007, 2009.
+#
+# $Id: sv.po,v 1.7 2006/01/08 20:42:48 menthos Exp $
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-09-19 10:25+0200\n"
+"PO-Revision-Date: 2009-09-19 10:25+0100\n"
+"Last-Translator: Daniel Nylander <[email protected]>\n"
+"Language-Team: Swedish <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Multimediameny"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Ljud och video"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programmering"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Verktyg för programutveckling"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Utbildning"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Spel"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Spel och underhållning"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafik"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Grafikprogram"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Hårdvara"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Inställningar för ett flertal hårdvaruenheter"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet och nätverk"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Nätverksrelaterade inställningar"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Utseende och beteende"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Inställningar som styr skrivbordets utseende och beteende"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Internet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Program för internetåtkomst som till exempel webb och e-post"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Kontor"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Kontorsprogram"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Personligt"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Personliga inställningar"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Administration"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Ändra inställningar för hela systemet (påverkar alla användare)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Personliga inställningar"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Inställningar"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "System"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Systeminställningar"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Systemverktyg"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Systemkonfiguration och systemövervakning"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Allmän åtkomst"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Inställningar för allmän åtkomst"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Tillbehör"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Skrivbordstillbehör"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Program"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Personliga inställningar och administrationsinställningar"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Program som inte passar in i någon annan kategori"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Övrigt"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Menyredigerare"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Redigera menyer"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Program:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Standardalternativ"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menyer:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Enkel menyredigerare %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Namn"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Visa"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid "Cannot find home directory: not set in /etc/passwd and no value for $HOME in environment"
+msgstr "Kan inte hitta hemkatalogen: inte angiven i /etc/passwd och inget värde för $HOME i miljön"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Menyfil"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENYFIL"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Övervaka menyändringar"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Inkludera exkluderade poster"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Inkludera poster med NoDisplay=true"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Ogiltigt id på desktop-fil"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Ogiltigt filnamn]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <exkluderad>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Menyn ändrad, läser om ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169
+#: ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Menyträdet är tomt"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- testa MATE:s implementation av specifikationen för skrivbordsmenyer"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Inställningar relaterade till allmän åtkomst"
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Personliga inställningar"
+#~ msgid "Accessibility"
+#~ msgstr "Tillgänglighet"
+#~ msgid "Accessibility Settings"
+#~ msgstr "Tillgänglighetsinställningar"
+#~ msgid "Desktop"
+#~ msgstr "Skrivbord"
+#~ msgid "Personal Preferences"
+#~ msgstr "Personliga inställningar"
+#~ msgid "Applications:"
+#~ msgstr "Program"
+#~ msgid "Invalid Filename"
+#~ msgstr "Ogiltigt filnamn"
+#~ msgid "<excluded>"
+#~ msgstr "<exkluderad>"
+#~ msgid "excluded"
+#~ msgstr "exkluderad"
+#~ msgid "Excluded"
+#~ msgstr "Exkluderad"
+#~ msgid "==== Menu changed, reloading ===="
+#~ msgstr "==== Menyn ändrad, läser om ===="
+#~ msgid "Menu changed, reloading"
+#~ msgstr "Menyn ändrad, läser om"
+#~ msgid "test MATE's implementation of the Desktop Menu Specification"
+#~ msgstr "testa MATEs implementation av specifikationen för skrivbordsmenyer"
+#~ msgid "Test MATE's implementation of the Desktop Menu Specification"
+#~ msgstr "Testa MATEs implementation av specifikationen för skrivbordsmenyer"
+#~ msgid "Desktop Accessories"
+#~ msgstr "Skrivbordstillbehör"
+#~ msgid "Software development"
+#~ msgstr "Programutveckling"
+#~ msgid "Software Development"
+#~ msgstr "Programutveckling"
+#~ msgid "Games and Amusements"
+#~ msgstr "Spel och underhållning"
+#~ msgid "Graphics Applications"
+#~ msgstr "Grafikprogram"
+#~ msgid "Multimedia"
+#~ msgstr "Multimedia"
+#~ msgid "Office applications"
+#~ msgstr "Kontorsprogram"
+
diff --git a/po/ta.po b/po/ta.po
new file mode 100644
index 0000000..3414d33
--- /dev/null
+++ b/po/ta.po
@@ -0,0 +1,276 @@
+# translation of mate-menus.HEAD.po to TAMIL
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+#
+# Shakthi Kannan <[email protected]>, 2006.
+# Jayaradha N <[email protected]>, 2006.
+# Dr.T.Vasudevan <[email protected]>, 2007, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus.HEAD\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-29 12:11+0530\n"
+"PO-Revision-Date: 2009-07-29 12:12+0530\n"
+"Last-Translator: Dr.T.Vasudevan <[email protected]>\n"
+"Language-Team: Tamil <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 0.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"\n"
+"\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "பல்முனை ஊடகப் பட்டியல்"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "ஒலி மற்றும் படக்காட்சி"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "நிரலாக்கம்"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "மென்பொருள் உற்பத்திக்கான கருவிகள்"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "கல்வி"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "விளையாட்டுகள்"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "விளையாட்டுகள் மற்றும் பொழுதுப்போக்குகள்"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "வரைகலை"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "வரைகலை பயன்பாடுகள்"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "வண் பொருட்கள்"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "பல வண் பொருட்களுக்கான அமைப்புகள்"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "இணையம் மற்றும் வலையமைப்பு"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "வலையமைப்பு சார்ந்த வடிவமைப்புகள்"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "பார்வையும் உணர்வும்"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "மேல்மேசையின் தோற்றம் மற்றும் நடத்தைகளை கட்டுப்படுத்தும் வடிவமைப்பு"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "இணையம்"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "வலைப்பின்னல் மற்றும் மின்னஞ்சல் போன்ற இணைய அணுகலுக்கான நிரல்கள் "
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "அலுவலகம்"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "அலுவலகப் பயன்பாடுகள்"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "தனிப்பயன்"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "தனிப்பயன் அமைப்புகள்"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "நிர்வாகம்"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "கணிப்பொறியின் அனைத்து அமைப்புகளை மாற்றுக (பயன்படுத்துவோர் அனைவரையும் பாதிக்கும்)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "தனிப்பயன் விருப்பங்கள்"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "விருப்பங்கள்"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "கணிப்பொறி"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "கணினி அமைப்புகள்"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "கணிப்பொறிக் கருவிகள்"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "கணிப்பொறி அமைப்பு மற்றும் கண்காணித்தல்"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "உலகளாவிய அணுகல்"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "உலகளாவிய அணுகல் அமைப்புகள்"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "துணைப்பொருள்கள்"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "மேஜை துணைப்பொருள்கள்"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "பயன்பாடுகள்"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "தனிநபர் விருப்பங்கள் மற்றும் நிர்வாக அமைப்புகள்"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "இதர இனங்களில் பொருந்தாத பயன்பாடுகள்"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "மற்றவை"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "பட்டியல் திருத்தி"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "பட்டியலைத் திருத்த"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "பயன்பாடுகள்(_A):"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "முன்னிருப்பு மதிப்புகள்(_D)"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "பட்டியல்கள்(_M)"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49, python-format
+msgid "Simple Menu Editor %s"
+msgstr "எளிய பட்டியல் திருத்தி %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "பெயர்"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "காட்டு"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"இல்ல அடைவு காண முடியவில்லை: /etc/passwd-ல் அமைக்கப்படவில்லை, மற்றும் சுற்றுச்சூழலில் "
+"$HOME மதிப்பு ஏதும் அமைக்கப்படவில்லை"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "பட்டியல் கோப்பு"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "பட்டியல் மாற்றங்களுக்கான கண்காணிப்பு"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "<Exclude>d என்ற உள்ளீடுகளை சேர்க்க"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "NoDisplay=true உள்ளீடுகளை சேர்க்க"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "செல்லுபடியாகாத மேஜைக் கோப்பு ஐடி"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[செல்லுபடியாகாத கோப்புப் பெயர்]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <சேர்க்காதவை>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"=== பட்டியல் மாற்றப்பட்டுள்ளது, மீண்டும் ஏற்றப்படுகிறது ===\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "பட்டியல் தூண் காலியாக உள்ளது"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- கணோம் உடைய மேஜைப் பட்டியல் விவரக்குறிப்பின் கணோம் செயல்பாட்டைப் பரிசோதிக்கவும்"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "உலகளாவிய அணுகல் சார்ந்த விருப்பங்கள்"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "தனிநபர் விருப்பங்கள் மற்றும் அமைப்புகள்"
diff --git a/po/te.po b/po/te.po
new file mode 100644
index 0000000..2317ba9
--- /dev/null
+++ b/po/te.po
@@ -0,0 +1,270 @@
+# translation of mate-menus.master.te.po to Telugu
+# Telugu translation of mate-menus
+# Copyright (C) 2005,2007 Free Software Foundation, Andhra Pradesh
+# This file is distributed under the same license as the mate-menus package.
+#
+# Y.Kiran Chandra <[email protected]>, 2005.
+# Bharat Kumar <[email protected]>, 2007.
+# Krishna Babu K <[email protected]>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus.master.te\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-menus&component=general\n"
+"POT-Creation-Date: 2009-06-21 17:35+0000\n"
+"PO-Revision-Date: 2009-09-17 15:12+0530\n"
+"Last-Translator: Krishna Babu K <[email protected]>\n"
+"Language-Team: Telugu <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "బహుళమాధ్యమాల జాబితా"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "ధ్వని మరియు ద్రుశ్యం"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "కార్య రూపకరణ"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "కార్యరూపకాలని తయారు చేయుటకు పనిముట్లు"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "విద్య"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "ఆటలు"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "ఆటలు మరియు వినోదకాలు"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "చిత్ర రూపాలు"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "చిత్రరూప కార్యక్షేత్రాలు"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "హార్డ వేర్"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "హార్డ వేర్ పరికరాలకి అమరికలు"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "ఇంటర్నెట్ మరియు నెట్వర్క్"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "నెట్వర్క్ బంధిత అమరికలు"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "రూపు రేఖలు"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "రంగస్థల రూపం మరియు ప్రవర్తనను నియంత్రణ చేయు అమరికలు"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "మహాతలం"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "ఇంటర్నెట్ తో సాంగత్యం ఏర్పరుచు కార్యక్రమాలు"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "కార్యాలయం"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "కార్యాలయపు కార్యక్షేత్రాలు"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "వ్యక్తిగత"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "వ్యక్తిగత అమరికలు"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "నిర్వహణ"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "వ్యవస్థకు సంబందించిన అన్ని అమరికలను మార్చు (ఈ మార్పులు అందరు వినియోగ దారులకు వమర్చబడతయి)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "వ్యక్తిగత అభీష్టాలు"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "అభీష్టాలు"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "వ్యవస్థ పనిముట్లు "
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "వ్యవస్థ యొక్క అమరికలు"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "వ్యవస్థ పనిముట్లు"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "వ్యవస్థ రూపకరణ మరియు తనిఖీ"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "విశ్వాంతర సాంగత్యం"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "విశ్వాంతర సాంగత్య అమరికలు "
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "సహాయకాలు"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "రంగస్థల సహాయకాలు"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "కార్యక్షేత్రాలు"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "వ్యక్తిగత అభీష్టాలు మరియు "
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "ఇతర విభాగాలలో ఇమడని కార్యక్షేత్రాలు"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "ఇతర"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "జాబితాను సరిచేయునది"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "జాబితాలను సరిచేయు"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "అనువర్తనములు (_A)"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "అప్రమేయాలు (_D)"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "జాబితాలు (_M)"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+#| msgid "Menu Editor"
+msgid "Simple Menu Editor %s"
+msgstr "సాధారణ మెనూ సరికూర్పరి %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "నామం"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "చూపు"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr "నివాస వివరం ను కనిపెట్టలేదు"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "జాబితా దస్త్రము"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "జాబితా దస్త్రము (_F)"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "జాబితాలోని మార్పుల తనిఖీ "
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "d నమోదులను చేర్చు<మినహాయించు>"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "NoDisplay=true·నమోదులను చే"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "నిస్సారమైన రంగస్థల దస్త్ర గుర్తింపు చిహ్నం"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[నిస్సారమైన దస్త్ర నామము]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr "<బహిష్కరించబడిన>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"====జాబితా మరింది, పున:స్థాపన జరుగుతున్నది·====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "జాబితా ఖాళీగా ఉంది"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "రంగస్థల యొక్క నిర్ధిష్ట జాబితాను గ్నోమ్ ఎలా అమలు చేసిందో పరీక్షించు"
+
diff --git a/po/th.po b/po/th.po
new file mode 100644
index 0000000..a01f03e
--- /dev/null
+++ b/po/th.po
@@ -0,0 +1,281 @@
+# Thai translation of mate-menus.
+# Copyright (C) 2004-2009 Free Software Foundation, Inc.
+# This file is distributed under the same license as the mate-menus package.
+# Theppitak Karoonboonyanan <[email protected]>, 2004-2007.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus 2.9.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-23 15:10+0700\n"
+"PO-Revision-Date: 2009-07-23 15:13+0700\n"
+"Last-Translator: Theppitak Karoonboonyanan <[email protected]>\n"
+"Language-Team: Thai <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "เมนูระบบสื่อผสม"
+
+#: desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "เสียงและวีดิทัศน์"
+
+#: desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "เขียนโปรแกรม"
+
+#: desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "เครื่องมือพัฒนาซอฟต์แวร์"
+
+#: desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "การศึกษา"
+
+#: desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "เกม"
+
+#: desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "เกมและความบันเทิง"
+
+#: desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "รูปภาพ"
+
+#: desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "โปรแกรมสำหรับรูปภาพ"
+
+#: desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "ฮาร์ดแวร์"
+
+#: desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "ตั้งค่าอุปกรณ์ฮาร์ดแวร์ต่างๆ"
+
+#: desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "อินเทอร์เน็ตและเครือข่าย"
+
+#: desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "ตั้งค่าเกี่ยวกับเครือข่าย"
+
+#: desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "รูปลักษณ์และการใช้งาน"
+
+#: desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "ตั้งค่าควบคุมรูปโฉมและพฤติกรรมของเดสก์ท็อป"
+
+#: desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "อินเทอร์เน็ต"
+
+#: desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "โปรแกรมสำหรับเข้าอินเทอร์เน็ต เช่น เว็บและเมล"
+
+#: desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "สำนักงาน"
+
+#: desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "โปรแกรมสำหรับสำนักงาน"
+
+#: desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "ส่วนบุคคล"
+
+#: desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "ตั้งค่าส่วนบุคคล"
+
+#: desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "ดูแลระบบ"
+
+#: desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "การตั้งค่าที่มีผลทั้งระบบ (มีผลต่อผู้ใช้ทุกคน)"
+
+#: desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "ปรับแต่งพื้นโต๊ะส่วนตัว"
+
+#: desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "ปรับแต่งพื้นโต๊ะ"
+
+#: desktop-directories/System.directory.in.h:1
+#: desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "ระบบ"
+
+#: desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "ตั้งค่าระบบ"
+
+#: desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "เครื่องมือระบบ"
+
+#: desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "ตั้งค่าและเฝ้าดูระบบ"
+
+#: desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "สิ่งอำนวยความสะดวก"
+
+#: desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "ตั้งค่าสิ่งอำนวยความสะดวก"
+
+#: desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "เครื่องใช้ไม้สอย"
+
+#: desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "โปรแกรมเครื่องใช้ไม้สอยบนเดสก์ท็อป"
+
+#: desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "โปรแกรม"
+
+#: desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "ปรับแต่งพื้นโต๊ะส่วนตัวและตั้งค่าระบบ"
+
+#: desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "โปรแกรมที่ไม่อยู่ในหมวดอื่นๆ"
+
+#: desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "อื่นๆ"
+
+#: simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "แก้ไขเมนู"
+
+#: simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "แก้ไขเมนู"
+
+#: simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "โ_ปรแกรม:"
+
+#: simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "ค่า_ปริยาย"
+
+#: simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "เ_มนู:"
+
+#. Translators: %s is the version number
+#: simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "เครื่องมือแก้ไขเมนูอย่างง่าย %s"
+
+#: simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "ชื่อ"
+
+#: simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "แสดง"
+
+#: simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"หาไดเรกทอรีบ้านไม่พบ: ไม่ได้ตั้งค่าไว้ใน /etc/passwd และไม่ได้กำหนดค่าตัวแปร $HOME ใน "
+"environment"
+
+#: util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "แฟ้มเมนู"
+
+#: util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_FILE"
+
+#: util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "ติดตามการเปลี่ยนแปลงของเมนู"
+
+#: util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "รวมรายการ <Exclude> ด้วย"
+
+#: util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "รวมรายการ NoDisplay=true ด้วย"
+
+#: util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "ชื่อแฟ้มเดสก์ท็อปใช้ไม่ได้"
+
+#: util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[ชื่อแฟ้มใช้ไม่ได้]"
+
+#: util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <ไม่นับรวม>"
+
+#: util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== เมนูมีการเปลี่ยนแปลง กำลังโหลดใหม่ ====\n"
+"\n"
+"\n"
+
+#: util/test-menu-spec.c:169 util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "โครงสร้างเมนูว่างเปล่า"
+
+#: util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- ทดสอบการทำงานของระบบเมนู MATE ตามข้อกำหนดเมนูเดสก์ท็อป"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "การปรับแต่งเกี่ยวกับสิ่งอำนวยความสะดวก"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "ปรับแต่งและตั้งค่าพื้นโต๊ะส่วนตัว"
+
+#~ msgid "Accessibility"
+#~ msgstr "สิ่งอำนวยความสะดวก"
+
+#~ msgid "Accessibility Settings"
+#~ msgstr "ตั้งค่าสิ่งอำนวยความสะดวก"
+
+#~ msgid "Desktop"
+#~ msgstr "พื้นโต๊ะ"
diff --git a/po/tr.po b/po/tr.po
new file mode 100644
index 0000000..1226039
--- /dev/null
+++ b/po/tr.po
@@ -0,0 +1,276 @@
+# translation of tr.po to Turkish
+# translation of Mate-menus.
+# Copyright (C) 2004 THE Mate-menus'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the Mate-menus package.
+#
+#
+# Onur Can Çakmak <[email protected]>, 2006.
+# Baris Cicek <[email protected]>, 2005, 2008, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: tr\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-09-10 00:22+0300\n"
+"PO-Revision-Date: 2009-09-10 00:25+0300\n"
+"Last-Translator: Baris Cicek <[email protected]>\n"
+"Language-Team: Turkish <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Çokluortam menüsü"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Ses ve Video"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Programlama"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Yazılım geliştirme için araçlar"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Eğitim"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Oyunlar"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Oyun ve eğlencelikler"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Grafik"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Grafik uygulamaları"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Donanım"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Bazı donanım aygıtları için ayarlar"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "İnternet ve Ağ"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Ağ ile ilgili ayarlar"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Görünüş ve İşleyiş"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Masaüstü görünüm ve işleyişini kontrol eden ayarlar"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "İnternet"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Web ve e-posta gibi internete erişim amaçlı programlar"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Ofis"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Ofis Uygulamaları"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Kişisel"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Kişisel ayarlar"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Yönetim"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Sistem geneli ayarları değiştir (tüm kullanıcıları etkiler)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Kişisel tercihler"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Tercihler"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Sistem"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Sistem ayarları"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Sistem Araçları"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Sistem yapılandırma ve izleme"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Evrensel Erişim"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Evrensel Erişim Ayarları"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Donatılar"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Masaüstü donatıları"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Uygulamalar"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Kişisel tercihler ve yönetim ayarları"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Diğer sınıflandırmalara girmeyen uygulamalar"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Diğer"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Menü Düzenleyicisi"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Menüleri Düzenle"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Uygulamalar:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "Ö_ntanımlılar"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Menüler:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Basit Menü Düzenleyicisi %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Ad"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Göster"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Başlangıç dizini bulunamadı: /etc/passwd içinde ayarlanmamış ve ortam "
+"değişkeni $HOME içinde değer yok"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Menü dosyası"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "MENU_DOSYASI"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Menü değişikliklerini izle"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "<Exclude> edilmiş girişleri içer"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "NoDisplay=true girdileri içer"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Geçersiz masaüstü dosya ID'si"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Geçersiz Dosyaadı]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Menü değişti, yeniden yükleniyor ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Menü ağacı boş"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- MATE'un Masaüstü Menü Belirtimleri uygulamasını sına"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Evrensel erişim ile ilgili tercihler"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Kişisel tercih ve ayarlar"
diff --git a/po/ug.po b/po/ug.po
new file mode 100644
index 0000000..61b926d
--- /dev/null
+++ b/po/ug.po
@@ -0,0 +1,297 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# Gheyret T.Kenji <[email protected]>
+# Sahran <[email protected]>
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate/menus\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-"
+"menus&component=general\n"
+"POT-Creation-Date: 2010-07-20 10:11+0000\n"
+"PO-Revision-Date: 2010-08-02 01:02+0600\n"
+"Last-Translator: Sahran <[email protected]>\n"
+"Language-Team: Uyghur Computer Science Association <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2010-05-05 21:49+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "كۆپ ۋاسىتە تىزىملىك"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "ئۈن ۋە سىن"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "پروگراممىچىلىق"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "يۇمشاق دېتال ئىجادىيەت قوراللىرى"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "مائارىپ"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "ئويۇنلار"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "ئويۇن ۋە كۆڭۈل ئېچىش پروگراممىلىرى"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "گرافىكلار"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "گرافىك قوللىنىشچان پروگراممىلىرى"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "قاتتىق دېتال"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "قاتتىق دېتاللار تەڭشىكى"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "تۇتاش تور ۋە تور"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "تورغا مۇناسىۋەتلىك تەڭشەك"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "كۆرۈنۈش تۇيغۇسى"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "ئۈستەل ئۈستى ئۇسلۇبى ۋە ھەرىكىتىنى كونترول قىلىش تەڭشىكى"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "تۇتاش تور"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "تور ۋە ئېلخەتكە ئوخشاش تۇتاش تور زىيارەت پروگراممىلىرى"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "ئىشخانا"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "ئىشخانا قوللىنىشچان پروگراممىلىرى"
+
+#. Translators: this is Personal as in "Personal settings"
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal"
+msgstr "شەخسىي"
+
+#: ../desktop-directories/Personal.directory.in.h:3
+msgid "Personal settings"
+msgstr "شەخسىي تەڭشەكلەر"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "باشقۇر"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "سىستېما تەڭشىكىنى ئۆزگەرت (ھەممە ئىشلەتكۈچىگە تەسىر كۆرسىتىدۇ)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "شەخسىي مايىللىق"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "مايىللىق"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "سىستېما"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "سىستېما تەڭشەكلىرى"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "سىستېما قوراللىرى"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "سىستېما سەپلەش ۋە كۆزىتىش"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "ھەممىباب زىيارەت"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "ھەممىباب زىيارەت تەڭشىكى"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "قوشۇمچە"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "ئۈستەل ئۈستى قوشۇمچە دېتاللىرى"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "قوللىنىشچان پروگراممىلار"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "شەخسىي مايىللىق ۋە باشقۇرۇش تەڭشىكى"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "باشقا تۈرلەرگە تەۋە بولمىغان پروگراممىلار"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "باشقا"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "تىزىملىك تەھرىرلىگۈچ"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "تىزىملىك تەھرىر"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "قوللىنىشچان پروگراممىلار(_A)"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "كۆڭۈلدىكى(_D)"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "تىزىملىكلەر(_M):"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "ئاددىي تىزىملىك تەھرىرلىگۈچ %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "ئاتى"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "كۆرسەت"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"home مۇندەرىجىسى تېپىلمىدى: /etc/passwd دا بەلگىلەنمىگەن ياكى سىستېما "
+"مۇھىتىدا $HOME نىڭ قىممىتى يوق"
+
+#~ msgid "Action"
+#~ msgstr "مەشغۇلات"
+
+#~ msgid "Action games"
+#~ msgstr "ھەرىكەتلىك ئويۇنلار"
+
+#~ msgid "Adventure"
+#~ msgstr "خەتەرلىك"
+
+#~ msgid "Adventure style games"
+#~ msgstr "قاباھەتلىك ئويۇنلار"
+
+#~ msgid "Arcade"
+#~ msgstr "Arcade"
+
+#~ msgid "Arcade style games"
+#~ msgstr "Arcade style games"
+
+#~ msgid "Falling blocks"
+#~ msgstr "Falling blocks"
+
+#~ msgid "Falling blocks games"
+#~ msgstr "Falling blocks games"
+
+#~ msgid "Board"
+#~ msgstr "تاختا"
+
+#~ msgid "Board games"
+#~ msgstr "تاختا ئويۇنلار"
+
+#~ msgid "Card games"
+#~ msgstr "قارتا ئويۇنلىرى"
+
+#~ msgid "Cards"
+#~ msgstr "قارتىلار"
+
+#~ msgid "Debian"
+#~ msgstr "Debian"
+
+#~ msgid "The Debian menu"
+#~ msgstr "Debainتىزىملىكى"
+
+#~ msgid "Science"
+#~ msgstr "ئىلىم"
+
+#~ msgid "Scientific applications"
+#~ msgstr "ئىلىم دېتاللىرى"
+
+#~ msgid "Games for kids"
+#~ msgstr "بالىلار ئويۇنلىرى"
+
+#~ msgid "Kids"
+#~ msgstr "بالىلار"
+
+#~ msgid "Logic"
+#~ msgstr "لوگىكا"
+
+#~ msgid "Logic and puzzle games"
+#~ msgstr "لوگىكىلىق ۋە تېپىشماقلىق ئويۇنلار"
+
+#~ msgid "Role playing"
+#~ msgstr "رول ئېلىپ ئويناش"
+
+#~ msgid "Role playing games"
+#~ msgstr "رول ئېلىپ ئوينايدىغان ئورۇنلار"
+
+#~ msgid "Simulation"
+#~ msgstr "تەقلىدلەشتۈرگۈچ"
+
+#~ msgid "Simulation games"
+#~ msgstr "تەقلىدلەشتۈرگۈچ ئويۇنى"
+
+#~ msgid "Sports"
+#~ msgstr "تەنتەربىيە"
+
+#~ msgid "Sports games"
+#~ msgstr "تەنتەربىيە ئويۇنلىرى"
+
+#~ msgid "Strategy"
+#~ msgstr "ئىستراتېگىيە"
+
+#~ msgid "Strategy games"
+#~ msgstr "ئىستراتېگىيىلىك ئويۇنلا"
diff --git a/po/uk.po b/po/uk.po
new file mode 100644
index 0000000..b08d02a
--- /dev/null
+++ b/po/uk.po
@@ -0,0 +1,281 @@
+# Ukrainian translation of mate-menus.
+# Copyright (C) Free Software Foundation Inc., 2005
+# This file is distributed under the same license as the mate-menus package.
+# Maxim Dziumanenko <[email protected]>, 2005-2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-09-17 13:55+0300\n"
+"PO-Revision-Date: 2007-09-11 16:17+0200\n"
+"Last-Translator: Maxim Dziumanenko <[email protected]>\n"
+"Language-Team: Ukrainian <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Мультимедіа"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Звук та відео"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Програмування"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Засоби розробки програм"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Навчання"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Ігри"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Ігри та розваги"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Графіка"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Графічні програми"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Обладнання"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Параметри деяких апаратних пристроїв"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Інтернет та мережа"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Параметри, що відносяться до налаштовування мережі"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Оформлення"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr ""
+"Параметри, що впливають на зовнішній вигляд та поведінку робочого столу"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Інтернет"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Програми для роботи з Інтернет (пошта, веб-переглядач, тощо)"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Офіс"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Офісні програми"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Особисті"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Персональні параметри"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Адміністрування"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Зміна системних параметрів (впливає на усіх користувачів)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Особисті уподобання"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Параметри"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "Системна"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Системні параметри"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Системні утиліти"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Засоби налаштовування та контролю системи"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Універсальний доступ"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Параметри універсального доступу"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Стандартні"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Стандартні програми"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Програми"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Особисті параметри та адміністративні параметри"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Програми, що не належать до жодної категорії"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Інші"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Редактор меню"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "Правка меню"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "_Програми:"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "_Типові"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "_Меню:"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "Простий редактор меню %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Назва"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Показувати"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Не вдається знайти домашній каталог: не встановлено у /etc/passwd та не "
+"визначено у змінній оточення $HOME"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Файл меню"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "ФАЙЛ_МЕНЮ"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Контролювати зміни у меню"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Включати елементи з <Exclude>"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Включати елементи з NoDisplay=true"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "Неправильний ідентифікатор desktop-файлу"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Неправильна назва файлу]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Меню змінено, перезавантаження ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Дерево меню порожнє"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- перевірка реалізації у MATE специфікації з меню робочого столу"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "Параметри пов'язані з універсальним доступом"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "Особисті параметри"
+
+#~ msgid "Accessibility"
+#~ msgstr "Спеціальні можливості"
+
+#~ msgid "Accessibility Settings"
+#~ msgstr "Налаштовування спеціальних можливостей"
+
+#~ msgid "Desktop"
+#~ msgstr "Робочий стіл"
diff --git a/po/[email protected] b/po/[email protected]
new file mode 100644
index 0000000..a62c6b5
--- /dev/null
+++ b/po/[email protected]
@@ -0,0 +1,270 @@
+# translation of [email protected] to Uzbek
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Nurali Abdurahmonov <[email protected]>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: uz@cyrillic\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-06-28 14:32+0200\n"
+"PO-Revision-Date: 2007-09-20 18:50+0500\n"
+"Last-Translator: Nurali Abdurahmonov <[email protected]>\n"
+"Language-Team: Uzbek\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: ../desktop-directories/Accessibility.directory.in.h:1
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr ""
+
+#: ../desktop-directories/Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr ""
+
+#: ../desktop-directories/Accessories.directory.in.h:1
+msgid "Accessories"
+msgstr ""
+
+#: ../desktop-directories/Accessories.directory.in.h:2
+msgid "Desktop accessories"
+msgstr ""
+
+#: ../desktop-directories/Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Дастурлар"
+
+#: ../desktop-directories/Desktop.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr ""
+
+#: ../desktop-directories/Desktop.directory.in.h:2
+#: ../desktop-directories/System.directory.in.h:1
+msgid "System"
+msgstr "Тизим"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Дастурлаш"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Дастурлаш учун воситалар"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Таълим"
+
+#: ../desktop-directories/Games.directory.in.h:1
+msgid "Games"
+msgstr "Ўйинлар"
+
+#: ../desktop-directories/Games.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Ўйинлар ва кўнгилочар дастурлар"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Графика"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Графика дастурлари"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Асбоб-ускуналар"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr ""
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Интернет ва тармоқ"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Тармоққа оид мосламалар"
+
+#: ../desktop-directories/Internet.directory.in.h:1
+msgid "Internet"
+msgstr "Интернет"
+
+#: ../desktop-directories/Internet.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Веб браузер ва эл.почта каби интернет билан ишлаш дастурлари"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Ташқи кўриниши"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Иш столининг ташқи кўриниши ва хусусиятларига оид мосламалар"
+
+#: ../desktop-directories/Multimedia.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Мултимедиа менюси"
+
+#: ../desktop-directories/Multimedia.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Товуш ва видео"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Офис"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Офис дастурлари"
+
+#: ../desktop-directories/Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Ҳеч қайси туркумга кирмайдиган дастурлар"
+
+#: ../desktop-directories/Other.directory.in.h:2
+msgid "Other"
+msgstr "Бошқа"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Шахсий"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Шахсий мосламалар"
+
+#: ../desktop-directories/Preferences.directory.in.h:1
+msgid "Personal preferences"
+msgstr ""
+
+#: ../desktop-directories/Preferences.directory.in.h:2
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr ""
+
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:2
+msgid "Universal access related preferences"
+msgstr ""
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences and settings"
+msgstr ""
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Тизим мосламалари"
+
+#: ../desktop-directories/System-Settings.directory.in.h:1
+msgid "Administration"
+msgstr "Бошқарув"
+
+#: ../desktop-directories/System-Settings.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr ""
+"Бутун тизимга оид мосламаларни ўзгартириш (барча фойдаланувчиларга таъсир "
+"қилади)"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Тизим воситалари"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Тизимни мослаш ва кузатиш"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Меню таҳрирчиси"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "Менюларни таҳрирлаш"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "_Дастурлар:"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "_Андозалар"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "_Менюлар:"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123
+msgid "Name"
+msgstr "Номи"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115
+msgid "Show"
+msgstr "Кўрсатиш"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Меню файли"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "МЕНЮ_ФАЙЛИ"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Менюдаги ўзгаришларни кузатиш"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr ""
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr ""
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "desktop файли ID'си хато"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Хато файл номи]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <excluded>"
+
+#: ../util/test-menu-spec.c:164
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Меню ўзгартирилди, қайта юкланмоқда ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Меню дарахти бўш"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr ""
+
diff --git a/po/vi.po b/po/vi.po
new file mode 100644
index 0000000..a579ddf
--- /dev/null
+++ b/po/vi.po
@@ -0,0 +1,279 @@
+# Vietnamese Translation for Mate Menus.
+# Copyright © 2007 Mate i18n Project for Vietnamese.
+# This file is distributed under the same license as the mate-menus package.
+# Trinh Minh Thanh <[email protected]>, 2004.
+# Clytie Siddall <[email protected]>, 2005-2007.
+#
+msgid ""
+""
+msgstr "Project-Id-Version: mate-menus 2.19.4\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-05-02 03:41+0100\n"
+"PO-Revision-Date: 2007-06-26 23:13+0930\n"
+"Last-Translator: Clytie Siddall <[email protected]>\n"
+"Language-Team: Vietnamese <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: LocFactoryEditor 1.6.4a3\n"
+
+#: ../desktop-directories/Accessibility.directory.in.h:1
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "Truy cập hoàn toàn"
+
+#: ../desktop-directories/Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "Thiết lập Truy cập Hoàn toàn"
+
+#: ../desktop-directories/Accessories.directory.in.h:1
+msgid "Accessories"
+msgstr "Bổ trợ"
+
+#: ../desktop-directories/Accessories.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Bổ trợ môi trường"
+
+#: ../desktop-directories/Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Ứng dụng"
+
+#: ../desktop-directories/Desktop.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Thiết lập quản lý và Tùy thích cá nhân"
+
+#: ../desktop-directories/Desktop.directory.in.h:2
+#: ../desktop-directories/System.directory.in.h:1
+msgid "System"
+msgstr "Hệ thống"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Lập trình"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Công cụ phát triển phần mềm"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Giáo dục"
+
+#: ../desktop-directories/Games.directory.in.h:1
+msgid "Games"
+msgstr "Trò chơi"
+
+#: ../desktop-directories/Games.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Trò chơi và giải trí"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Đồ họa"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Ứng dụng đồ họa"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "Phần cứng"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "Thiết lập cho các thiết bị phần cứng"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "Internet và mạng"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "Thiết lập mạng"
+
+#: ../desktop-directories/Internet.directory.in.h:1
+msgid "Internet"
+msgstr "Mạng"
+
+#: ../desktop-directories/Internet.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Chương trình truy cập Mạng như trình duyệt và trình nhận/gửi thư điện tử"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "Sắc thái"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "Thiết lập điều khiển diện mạo và cách ứng xử của hệ thống"
+
+#: ../desktop-directories/Multimedia.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Trình đơn Đa phương tiện"
+
+#: ../desktop-directories/Multimedia.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Âm thanh và Ảnh động"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Văn phòng"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Ứng dụng văn phòng"
+
+#: ../desktop-directories/Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Chương trình chưa phân loại"
+
+#: ../desktop-directories/Other.directory.in.h:2
+msgid "Other"
+msgstr "Khác"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "Cá nhân"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "Thiết lập cá nhân"
+
+#: ../desktop-directories/Preferences.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Tùy thích cá nhân"
+
+#: ../desktop-directories/Preferences.directory.in.h:2
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Tùy thích"
+
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:2
+msgid "Universal access related preferences"
+msgstr "Tùy thích liên quan đến khả năng truy cập"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences and settings"
+msgstr "Thiết lập và tùy thích cá nhân"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "Thiết lập hệ thống"
+
+#: ../desktop-directories/System-Settings.directory.in.h:1
+msgid "Administration"
+msgstr "Quản lý"
+
+#: ../desktop-directories/System-Settings.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "Thay đổi thiết lập cho toàn hệ thống (cho mọi người dùng)"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Công cụ hệ thống"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Cấu hình và theo dõi hệ thống"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Bộ sửa trình đơn"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "Sửa trình đơn"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "Ứ_ng dụng:"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "_Mặc định"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "_Trình đơn:"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:96
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:123
+msgid "Name"
+msgstr "Tên"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:115
+msgid "Show"
+msgstr "Hiển thị"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:44
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr "Không tìm thấy thư mục chính: chưa lập trong tập tin « /etc/passwd » và không có giá "
+"trị cho biến $HOME trong môi trường."
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Tập tin trình đơn"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "TẬP_TIN_TRÌNH_ĐƠN"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Bộ theo dõi thay đổi trình đơn"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Gồm các mục nhập bị <loại trừ>"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "Gồm các mục nhập « NoDisplay=true » (không hiển thị là đúng)"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "ID tập tin màn hình nền không hợp lệ"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[Tên tập tin không hợp lệ]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <bị loại trừ>"
+
+#: ../util/test-menu-spec.c:164
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr "\n"
+"\n"
+"\n"
+"==== Trình đơn đã thay đổi nên đang nạp lại ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169
+#: ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Cây trình đơn rỗng"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "— kiểm tra sự thực hiện MATE của Đặc tả Trình đơn Môi trường"
+
+#~ msgid "Accessibility"
+#~ msgstr "Khả năng truy cập"
+
+#~ msgid "Accessibility Settings"
+#~ msgstr "Thiết lập khả năng truy cập"
+
+#~ msgid "Desktop"
+#~ msgstr "Desktop"
diff --git a/po/xh.po b/po/xh.po
new file mode 100644
index 0000000..4b02266
--- /dev/null
+++ b/po/xh.po
@@ -0,0 +1,127 @@
+# Xhosa translation of mate-menus
+# Copyright (C) 2005 Canonical Ltd.
+# This file is distributed under the same license as the mate-menus package.
+# Translation by Canonical Ltd <[email protected]> with thanks to
+# Translation World CC in South Africa, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2005-04-01 13:09+0200\n"
+"PO-Revision-Date: 2005-03-30 21:58+0200\n"
+"Last-Translator: Canonical Ltd <[email protected]>\n"
+"Language-Team: Xhosa <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../desktop-directories/Accessibility.directory.in.h:1
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:1
+msgid "Accessibility"
+msgstr "Ukufikeleleka"
+
+#: ../desktop-directories/Accessibility.directory.in.h:2
+msgid "Accessibility Settings"
+msgstr "Imimiselo Yokufikeleleka"
+
+#: ../desktop-directories/Accessories.directory.in.h:1
+msgid "Accessories"
+msgstr "Izinto ezongezelelwayo"
+
+#: ../desktop-directories/Accessories.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Izinto ezongezelelwayo ze-Desktop"
+
+#: ../desktop-directories/Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Iinkqubo"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Ukwenziwa kweenkqubo"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Izixhobo zokuphuhlisa ubucukubhede bekhompyutha"
+
+#: ../desktop-directories/Edutainment.directory.in.h:1
+msgid "Edutainment"
+msgstr "Ukufunda ngokuzonwabisa"
+
+#: ../desktop-directories/Games.directory.in.h:1
+msgid "Games"
+msgstr "Imidlalo"
+
+#: ../desktop-directories/Games.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Imidlalo nokuzihlekisa"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Iimo zezibonakalisi-nkqubo"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Iinkqubo ngeemo zezibonakalisi-nkqubo"
+
+#: ../desktop-directories/Internet.directory.in.h:1
+msgid "Internet"
+msgstr "I-intanethi"
+
+#: ../desktop-directories/Internet.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Iinkqubo zokufikelela kwi-Intanethi ezinjenge-web ne-imeyile"
+
+#: ../desktop-directories/Multimedia.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Imenu Yezixhobo eziphathekayo zokugcina ulwazi ngokuphinda-phindeneyo"
+
+#: ../desktop-directories/Multimedia.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Isandi neVidiyo"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "i-Ofisi"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Iinkqubo ze-Ofisi"
+
+#: ../desktop-directories/Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Iinkqubo ezingangeniyo kwezinye iindidi"
+
+#: ../desktop-directories/Other.directory.in.h:2
+msgid "Other"
+msgstr "Ezinye"
+
+#: ../desktop-directories/Settings-Accessibility.directory.in.h:2
+msgid "Accessibility related preferences"
+msgstr "Uluhlu lwezinto ezikhethwayo olunxulumene nofikeleleko"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences and settings"
+msgstr "Uluhlu lwezinto ezikhethwayo zaloo mntu uthile kunye nemimiselo"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Uluhlu lwezinto ezikhethwayo"
+
+#: ../desktop-directories/System-Settings.directory.in.h:1
+msgid "Administration"
+msgstr "Ulawulo"
+
+#: ../desktop-directories/System-Settings.directory.in.h:2
+msgid "Change systemwide settings (affects all users)"
+msgstr ""
+"Tshintsha imimiselo yenkqubo ngokubanzi (ichukumisa bonke abasebenzisi)"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Izixhobo Zeenkqubo"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Umiselo-nkqubo lwendlela emisiweyo kunye nokuhlola"
diff --git a/po/yo.po b/po/yo.po
new file mode 100644
index 0000000..755975a
--- /dev/null
+++ b/po/yo.po
@@ -0,0 +1,270 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus.mate-2-12\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-"
+"menus&component=general\n"
+"POT-Creation-Date: 2009-01-01 18:52+0000\n"
+"PO-Revision-Date: 2006-07-07 16:38+0100\n"
+"Last-Translator: Fajuyitan, Sunday Ayo <[email protected]>\n"
+"Language-Team: Yoruba\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "Àtòjọ-ẹ̀yàn agbé-ọ̀pọ̀-ìròyìn-jáde"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "Ìró & Fídíò"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "Ìṣàtòjọ-ètò"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "Àwọn irinṣẹ́ fún ìdàgbàsókè ẹ̀yà-ará kọ̀ǹpútà àìfojúrí"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "Ẹ̀kọ́"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "Àwọn Ayò"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "Àwọn ayò àti àwọn eré-àṣenọjú"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "Gíráfíìsì"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "Àwọn ìṣàmúlò-ètò gíráfíìsì"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr ""
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr ""
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr ""
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr ""
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr ""
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr ""
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "Ítánẹ́̀ẹ̀tì"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "Àwọn àtòjọ-ètò fún ìráyè ítánẹ́ẹ̀tì bíi wẹ́ẹ̀bù àti lẹ́tà kọ̀ǹpútà"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "Ọ́fíìsì"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "Àwọn Ìṣàmúlò-ètò Ọ́fíìsì"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr ""
+
+#: ../desktop-directories/Personal.directory.in.h:2
+#, fuzzy
+msgid "Personal settings"
+msgstr "Àwọn ààtò àti àwọn ìkúndùn aládàáni"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "Ìṣàkóso"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+#, fuzzy
+msgid "Change system-wide settings (affects all users)"
+msgstr "Yí àwọn ààtò ìfẹ̀sí-ètò kọ̀ǹpútà padà (ó kan gbogbo òǹlò)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "Àwọn ìkúndùn aládàáni"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "Àwọn ìkúndùn"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+#, fuzzy
+msgid "System"
+msgstr "Àwọn Irinṣẹ́ Ètò Kọ̀ǹpútà"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr ""
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "Àwọn Irinṣẹ́ Ètò Kọ̀ǹpútà"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "Ìṣàmójútó àti àtòpọ̀ ètò kọ̀ǹpútà"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr ""
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+#, fuzzy
+msgid "Universal Access Settings"
+msgstr "Àwọn Ààtò Ìráyè"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "Àwọn Àsẹ́sírì"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "Àwọn àsẹ́sírì ojù-iṣẹ́"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "Àwọn Ìṣàmúlò-ètò"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "Àwọn ààtò ìṣàkóso àti àwọn ìkúndùn aládàáni"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "Àwọn ìsàmúlò-ètò tí kò bá àwọn ọ̀wọ́ mìíràn mu"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "Òmíràn"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "Olótùú Àtòjọ-ẹ̀yàn"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:1
+msgid "Edit Menus"
+msgstr "Ṣàyẹ̀wò Àwọn Àtòjọ-ẹ̀yàn"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:2
+msgid "_Applications:"
+msgstr "_Àwọn Ìṣàmúlò-ètò:"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:3
+msgid "_Defaults"
+msgstr "_Àwọn ìpéwọ̀n"
+
+#: ../simple-editor/gmenu-simple-editor.glade.h:4
+msgid "_Menus:"
+msgstr "_Àwọn Àtòjọ-ẹ̀yàn:"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "Orúkọ"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "Fihàn"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr ""
+"Kò lè wá atọ́nà ilé: kò sí àgbékalẹ̀ rẹ̀ ní /etc/passwd kò sí oye fún $HOME ní "
+"àyíká"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "Fáìlì àtòjọ-ẹ̀yàn"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "FÁÌLÌ_ÀTÒJỌ-Ẹ̀YÀN"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "Àpótí ìṣàfihàn fún àwọn ìyípadà àtòjọ-ẹ̀yàn"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "Fi àwọn àmúwọlé <Tí Kò Sí Níbẹ̀> si"
+
+#: ../util/test-menu-spec.c:36
+#, fuzzy
+msgid "Include NoDisplay=true entries"
+msgstr "Fi àwọn àmúwọlé <Tí Kò Sí Níbẹ̀> si"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "ID fáìlì ojú-iṣẹ́ àìfẹsẹmúlẹ̀"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "̀̀̀̀̀̀̀̀[Orúkọ-fáìlì Àìfẹsẹ̀múlẹ̀]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <kò sí níbẹ̀>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== Àtúnkì àtòjọ-ẹ̀yàn tó yípadà ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "Igi àtòjọ-ẹ̀yàn ṣófo"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- yẹ ìpilẹ̀ Ojúùwọ̀n Àtòjọ-ẹ̀yàn Ojú-iṣẹ́ MATE wò"
+
+#~ msgid "Accessibility"
+#~ msgstr "Ìráyè"
+
+#~ msgid "Accessibility related preferences"
+#~ msgstr "Àwọn ìkúndùn ajemọ́ ìráyè"
+
+#~ msgid "Desktop"
+#~ msgstr "Ojú-iṣẹ́"
diff --git a/po/zh_CN.po b/po/zh_CN.po
new file mode 100644
index 0000000..f365e90
--- /dev/null
+++ b/po/zh_CN.po
@@ -0,0 +1,268 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# Funda Wang <[email protected]>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menus HEAD\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mate-"
+"menus&component=general\n"
+"POT-Creation-Date: 2009-12-14 20:17+0000\n"
+"PO-Revision-Date: 2010-01-09 18:39+0700\n"
+"Last-Translator: 甘露(Gan Lu) <[email protected]>\n"
+"Language-Team: zh_CN <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-07-26 05:48+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+"X-Poedit-Country: CHINA\n"
+"X-Poedit-Language: Chinese\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "多媒体菜单"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "影音"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "编程"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "软件开发工具"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "教育"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "游戏"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "游戏和娱乐"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "图形"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "图形应用程序"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "硬件"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "硬件设置"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "互联网和网络"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "网络相关的设置"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "外观"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "控制桌面外观和行为的设置"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "互联网"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "网络相关应用软件,如网络浏览和电子邮件管理"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "办公"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "办公应用程序"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "个人"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "个人设置"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "系统管理"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "更改系统设置(影响所有用户)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "个人首选项"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "首选项"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "系统"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "系统设置"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "系统工具"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "系统配置和监视"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "通用访问"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "通用访问设置"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "附件"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "桌面附件"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "应用程序"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "个人首选项和管理设置"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "无法分入其它类别的应用程序"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "其它"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "菜单编辑器"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "编辑菜单"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "应用程序(_A):"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "默认(_D)"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "菜单(_M):"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "简单的菜单编辑器 %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "名称"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "显示"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr "找不到主目录:未在 /etc/passwd 中设定,也未在 $HOME 环境变量中设置"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "菜单文件"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "菜单文件"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "监视菜单更改的程序"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "包含<已排除>的项目"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "包含 NoDisplay=true 的项目"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "无效的桌面文件标识"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[无效文件名]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr " <已排除>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== 菜单已更改,重新装入 ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "菜单树为空"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- 测试 MATE 对桌面菜单规范的实现"
diff --git a/po/zh_HK.po b/po/zh_HK.po
new file mode 100644
index 0000000..22ca78b
--- /dev/null
+++ b/po/zh_HK.po
@@ -0,0 +1,279 @@
+# Chinese (Hong Kong) translation of mate-menu.
+# Copyright (C) 2005, 06, 07 Free Software Foundation, Inc.
+# Woodman Tuen <[email protected]>, 2005-07.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menu 2.28.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-09-13 06:31+0800\n"
+"PO-Revision-Date: 2009-09-13 06:32+0800\n"
+"Last-Translator: Chao-Hsiung Liao <[email protected]>\n"
+"Language-Team: Chinese (Hong Kong) <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "多媒體選單"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "影音"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "軟件開發"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "軟件開發工具"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "教育"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "遊戲"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "遊戲及娛樂"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "美工繪圖"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "繪圖工具"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "硬件"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "多種硬件的設定"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "互聯網及網絡"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "網絡相關設定"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "外觀與感覺"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "控制桌面顯示方式及行為的設定"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "互聯網"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "如瀏覽網頁及收發電郵等網絡軟件"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "辦公"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "辦公室軟件"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "個人"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "個人設定"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "管理"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "更改全系統設定值(影響所有用戶)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "個人偏好設定"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "偏好設定"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "系統"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "系統設定"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "系統工具"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "系統配置及監察"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "無障礙功能"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "無障礙功能設定值"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "附屬應用程式"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "桌面附屬應用程式"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "應用程式"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "個人偏好及管理設定"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "不符合其它分類的軟件"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "其他"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "選單編輯器"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "編輯選單"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "應用程式(_A):"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "預設(_D)"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "選單(_M):"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "簡易選單編輯器 %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "名稱"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "顯示"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr "找不到個人資料夾:沒有設定在 /etc/passwd 及環境變數 $HOME 中。"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "選單檔案"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "選單檔案"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "監視選單更改"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "包含 <不包括> 條目"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "包含不顯示=正確條目"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "無效的桌面檔案 ID"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[無效的檔案名稱]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr "<不包括>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== 選單已更改,重新載入中 ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "選單樹是空白的"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- 測試 MATE 在桌面選單規格的實現"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "普及近用相關偏好設定"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "個人偏好及設定"
+
+#~ msgid "Accessibility"
+#~ msgstr "無障礙環境"
+
+#~ msgid "Accessibility Settings"
+#~ msgstr "無障礙環境設定"
+
+#~ msgid "Desktop"
+#~ msgstr "桌面"
diff --git a/po/zh_TW.po b/po/zh_TW.po
new file mode 100644
index 0000000..ff87793
--- /dev/null
+++ b/po/zh_TW.po
@@ -0,0 +1,279 @@
+# Chinese (Taiwan) translation of mate-menu.
+# Copyright (C) 2005, 06, 07 Free Software Foundation, Inc.
+# Woodman Tuen <[email protected]>, 2005-07.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-menu 2.28.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-09-13 06:31+0800\n"
+"PO-Revision-Date: 2009-09-06 11:24+0800\n"
+"Last-Translator: Chao-Hsiung Liao <[email protected]>\n"
+"Language-Team: Chinese/Traditional <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:1
+msgid "Multimedia menu"
+msgstr "多媒體選單"
+
+#: ../desktop-directories/AudioVideo.directory.in.h:2
+msgid "Sound & Video"
+msgstr "影音"
+
+#: ../desktop-directories/Development.directory.in.h:1
+msgid "Programming"
+msgstr "軟體開發"
+
+#: ../desktop-directories/Development.directory.in.h:2
+msgid "Tools for software development"
+msgstr "軟體開發工具"
+
+#: ../desktop-directories/Education.directory.in.h:1
+msgid "Education"
+msgstr "教育"
+
+#: ../desktop-directories/Game.directory.in.h:1
+msgid "Games"
+msgstr "遊戲"
+
+#: ../desktop-directories/Game.directory.in.h:2
+msgid "Games and amusements"
+msgstr "遊戲及娛樂"
+
+#: ../desktop-directories/Graphics.directory.in.h:1
+msgid "Graphics"
+msgstr "美工繪圖"
+
+#: ../desktop-directories/Graphics.directory.in.h:2
+msgid "Graphics applications"
+msgstr "繪圖工具"
+
+#: ../desktop-directories/Hardware.directory.in.h:1
+msgid "Hardware"
+msgstr "硬體"
+
+#: ../desktop-directories/Hardware.directory.in.h:2
+msgid "Settings for several hardware devices"
+msgstr "多種硬體的設定"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:1
+msgid "Internet and Network"
+msgstr "網際網路及網路"
+
+#: ../desktop-directories/InternetAndNetwork.directory.in.h:2
+msgid "Network-related settings"
+msgstr "網路相關設定"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:1
+msgid "Look and Feel"
+msgstr "外觀與感覺"
+
+#: ../desktop-directories/LookAndFeel.directory.in.h:2
+msgid "Settings controlling the desktop appearance and behavior"
+msgstr "控制桌面顯示方式及行為的設定"
+
+#: ../desktop-directories/Network.directory.in.h:1
+msgid "Internet"
+msgstr "網際網路"
+
+#: ../desktop-directories/Network.directory.in.h:2
+msgid "Programs for Internet access such as web and email"
+msgstr "如瀏覽網頁及收發電郵等網路軟體"
+
+#: ../desktop-directories/Office.directory.in.h:1
+msgid "Office"
+msgstr "辦公"
+
+#: ../desktop-directories/Office.directory.in.h:2
+msgid "Office Applications"
+msgstr "辦公室軟體"
+
+#: ../desktop-directories/Personal.directory.in.h:1
+msgid "Personal"
+msgstr "個人"
+
+#: ../desktop-directories/Personal.directory.in.h:2
+msgid "Personal settings"
+msgstr "個人設定"
+
+#: ../desktop-directories/Settings-System.directory.in.h:1
+msgid "Administration"
+msgstr "管理"
+
+#: ../desktop-directories/Settings-System.directory.in.h:2
+msgid "Change system-wide settings (affects all users)"
+msgstr "更改全系統設定值(影響所有用戶)"
+
+#: ../desktop-directories/Settings.directory.in.h:1
+msgid "Personal preferences"
+msgstr "個人偏好設定"
+
+#: ../desktop-directories/Settings.directory.in.h:2
+msgid "Preferences"
+msgstr "偏好設定"
+
+#: ../desktop-directories/System.directory.in.h:1
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:2
+msgid "System"
+msgstr "系統"
+
+#: ../desktop-directories/System.directory.in.h:2
+msgid "System settings"
+msgstr "系統設定"
+
+#: ../desktop-directories/System-Tools.directory.in.h:1
+msgid "System Tools"
+msgstr "系統工具"
+
+#: ../desktop-directories/System-Tools.directory.in.h:2
+msgid "System configuration and monitoring"
+msgstr "系統配置及監察"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:1
+msgid "Universal Access"
+msgstr "無障礙功能"
+
+#: ../desktop-directories/Utility-Accessibility.directory.in.h:2
+msgid "Universal Access Settings"
+msgstr "無障礙功能設定值"
+
+#: ../desktop-directories/Utility.directory.in.h:1
+msgid "Accessories"
+msgstr "附屬應用程式"
+
+#: ../desktop-directories/Utility.directory.in.h:2
+msgid "Desktop accessories"
+msgstr "桌面附屬應用程式"
+
+#: ../desktop-directories/X-MATE-Menu-Applications.directory.in.h:1
+msgid "Applications"
+msgstr "應用程式"
+
+#: ../desktop-directories/X-MATE-Menu-System.directory.in.h:1
+msgid "Personal preferences and administration settings"
+msgstr "個人偏好及管理設定"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:1
+msgid "Applications that did not fit in other categories"
+msgstr "不符合其它分類的軟體"
+
+#: ../desktop-directories/X-MATE-Other.directory.in.h:2
+msgid "Other"
+msgstr "其他"
+
+#: ../simple-editor/gmenu-simple-editor.desktop.in.h:1
+msgid "Menu Editor"
+msgstr "選單編輯器"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:1
+msgid "Edit Menus"
+msgstr "編輯選單"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:2
+msgid "_Applications:"
+msgstr "應用程式(_A):"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:3
+msgid "_Defaults"
+msgstr "預設(_D)"
+
+#: ../simple-editor/gmenu-simple-editor.ui.h:4
+msgid "_Menus:"
+msgstr "選單(_M):"
+
+#. Translators: %s is the version number
+#: ../simple-editor/GMenuSimpleEditor/main.py:49
+#, python-format
+msgid "Simple Menu Editor %s"
+msgstr "簡易選單編輯器 %s"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:94
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:121
+msgid "Name"
+msgstr "名稱"
+
+#: ../simple-editor/GMenuSimpleEditor/maindialog.py:113
+msgid "Show"
+msgstr "顯示"
+
+#: ../simple-editor/GMenuSimpleEditor/menufilewriter.py:42
+msgid ""
+"Cannot find home directory: not set in /etc/passwd and no value for $HOME in "
+"environment"
+msgstr "找不到個人資料夾:沒有設定在 /etc/passwd 及環境變數 $HOME 中。"
+
+#: ../util/test-menu-spec.c:33
+msgid "Menu file"
+msgstr "選單檔案"
+
+#: ../util/test-menu-spec.c:33
+msgid "MENU_FILE"
+msgstr "選單檔案"
+
+#: ../util/test-menu-spec.c:34
+msgid "Monitor for menu changes"
+msgstr "監視選單變更"
+
+#: ../util/test-menu-spec.c:35
+msgid "Include <Exclude>d entries"
+msgstr "包含 <不包括> 條目"
+
+#: ../util/test-menu-spec.c:36
+msgid "Include NoDisplay=true entries"
+msgstr "包含不顯示=正確條目"
+
+#: ../util/test-menu-spec.c:91
+msgid "Invalid desktop file ID"
+msgstr "無效的桌面檔案 ID"
+
+#: ../util/test-menu-spec.c:92
+msgid "[Invalid Filename]"
+msgstr "[無效的檔案名稱]"
+
+#: ../util/test-menu-spec.c:93
+msgid " <excluded>"
+msgstr "<不包括>"
+
+#: ../util/test-menu-spec.c:164
+#, c-format
+msgid ""
+"\n"
+"\n"
+"\n"
+"==== Menu changed, reloading ====\n"
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"==== 選單已變更,重新載入中 ====\n"
+"\n"
+"\n"
+
+#: ../util/test-menu-spec.c:169 ../util/test-menu-spec.c:211
+msgid "Menu tree is empty"
+msgstr "選單樹是空白的"
+
+#: ../util/test-menu-spec.c:189
+msgid "- test MATE's implementation of the Desktop Menu Specification"
+msgstr "- 測試 MATE 在桌面選單規格的實現"
+
+#~ msgid "Universal access related preferences"
+#~ msgstr "普及近用相關偏好設定"
+
+#~ msgid "Personal preferences and settings"
+#~ msgstr "個人偏好及設定"
+
+#~ msgid "Accessibility"
+#~ msgstr "無障礙環境"
+
+#~ msgid "Accessibility Settings"
+#~ msgstr "無障礙環境設定"
+
+#~ msgid "Desktop"
+#~ msgstr "桌面"
diff --git a/py-compile b/py-compile
new file mode 100755
index 0000000..3f9d05b
--- /dev/null
+++ b/py-compile
@@ -0,0 +1,146 @@
+#!/bin/sh
+# py-compile - Compile a Python program
+
+scriptversion=2009-04-28.21; # UTC
+
+# Copyright (C) 2000, 2001, 2003, 2004, 2005, 2008, 2009 Free Software
+# Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <[email protected]> or send patches to
+
+if [ -z "$PYTHON" ]; then
+ PYTHON=python
+fi
+
+basedir=
+destdir=
+files=
+while test $# -ne 0; do
+ case "$1" in
+ --basedir)
+ basedir=$2
+ if test -z "$basedir"; then
+ echo "$0: Missing argument to --basedir." 1>&2
+ exit 1
+ fi
+ shift
+ ;;
+ --destdir)
+ destdir=$2
+ if test -z "$destdir"; then
+ echo "$0: Missing argument to --destdir." 1>&2
+ exit 1
+ fi
+ shift
+ ;;
+ -h|--h*)
+ cat <<\EOF
+Usage: py-compile [--help] [--version] [--basedir DIR] [--destdir DIR] FILES..."
+
+Byte compile some python scripts FILES. Use --destdir to specify any
+leading directory path to the FILES that you don't want to include in the
+byte compiled file. Specify --basedir for any additional path information you
+do want to be shown in the byte compiled file.
+
+Example:
+ py-compile --destdir /tmp/pkg-root --basedir /usr/share/test test.py test2.py
+
+Report bugs to <[email protected]>.
+EOF
+ exit $?
+ ;;
+ -v|--v*)
+ echo "py-compile $scriptversion"
+ exit $?
+ ;;
+ *)
+ files="$files $1"
+ ;;
+ esac
+ shift
+done
+
+if test -z "$files"; then
+ echo "$0: No files given. Try \`$0 --help' for more information." 1>&2
+ exit 1
+fi
+
+# if basedir was given, then it should be prepended to filenames before
+# byte compilation.
+if [ -z "$basedir" ]; then
+ pathtrans="path = file"
+else
+ pathtrans="path = os.path.join('$basedir', file)"
+fi
+
+# if destdir was given, then it needs to be prepended to the filename to
+# byte compile but not go into the compiled file.
+if [ -z "$destdir" ]; then
+ filetrans="filepath = path"
+else
+ filetrans="filepath = os.path.normpath('$destdir' + os.sep + path)"
+fi
+
+$PYTHON -c "
+import sys, os, py_compile
+
+files = '''$files'''
+
+sys.stdout.write('Byte-compiling python modules...\n')
+for file in files.split():
+ $pathtrans
+ $filetrans
+ if not os.path.exists(filepath) or not (len(filepath) >= 3
+ and filepath[-3:] == '.py'):
+ continue
+ sys.stdout.write(file)
+ sys.stdout.flush()
+ py_compile.compile(filepath, filepath + 'c', path)
+sys.stdout.write('\n')" || exit $?
+
+# this will fail for python < 1.5, but that doesn't matter ...
+$PYTHON -O -c "
+import sys, os, py_compile
+
+files = '''$files'''
+sys.stdout.write('Byte-compiling python modules (optimized versions) ...\n')
+for file in files.split():
+ $pathtrans
+ $filetrans
+ if not os.path.exists(filepath) or not (len(filepath) >= 3
+ and filepath[-3:] == '.py'):
+ continue
+ sys.stdout.write(file)
+ sys.stdout.flush()
+ py_compile.compile(filepath, filepath + 'o', path)
+sys.stdout.write('\n')" 2>/dev/null || :
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/python/Makefile.am b/python/Makefile.am
new file mode 100644
index 0000000..0f55476
--- /dev/null
+++ b/python/Makefile.am
@@ -0,0 +1,20 @@
+AM_CPPFLAGS = \
+ $(GLIB_CFLAGS) \
+ $(PYTHON_INCLUDES) \
+ -I$(srcdir)/../libmenu \
+ -DMATEMENU_I_KNOW_THIS_IS_UNSTABLE \
+ $(DISABLE_DEPRECATED_CFLAGS) \
+ $(DEBUG_CFLAGS)
+
+AM_CFLAGS = \
+ $(WARN_CFLAGS) \
+ $(NO_STRICT_ALIASING_CFLAGS)
+
+matemenudir = $(pyexecdir)
+matemenu_LTLIBRARIES = matemenu.la
+
+matemenu_la_SOURCES = matemenu.c
+matemenu_la_LDFLAGS = -module -avoid-version -fPIC -export-symbols-regex initmatemenu
+matemenu_la_LIBADD = $(GLIB_LIBS) $(PYTHON_LIBS) $(top_builddir)/libmenu/libmate-menu.la
+
+-include $(top_srcdir)/git.mk
diff --git a/python/matemenu.c b/python/matemenu.c
new file mode 100644
index 0000000..596c106
--- /dev/null
+++ b/python/matemenu.c
@@ -0,0 +1,1948 @@
+/*
+ * Copyright (C) 2005 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <config.h>
+
+#include <Python.h>
+#include <matemenu-tree.h>
+
+typedef struct {
+ PyObject_HEAD
+ MateMenuTree* tree;
+ GSList* callbacks;
+} PyMateMenuTree;
+
+typedef struct {
+ PyObject* tree;
+ PyObject* callback;
+ PyObject* user_data;
+} PyMateMenuTreeCallback;
+
+typedef struct {
+ PyObject_HEAD
+ MateMenuTreeItem* item;
+} PyMateMenuTreeItem;
+
+typedef PyMateMenuTreeItem PyMateMenuTreeDirectory;
+typedef PyMateMenuTreeItem PyMateMenuTreeEntry;
+typedef PyMateMenuTreeItem PyMateMenuTreeSeparator;
+typedef PyMateMenuTreeItem PyMateMenuTreeHeader;
+typedef PyMateMenuTreeItem PyMateMenuTreeAlias;
+
+static PyMateMenuTree* pymatemenu_tree_wrap(MateMenuTree* tree);
+static PyMateMenuTreeDirectory* pymatemenu_tree_directory_wrap(MateMenuTreeDirectory* directory);
+static PyMateMenuTreeEntry* pymatemenu_tree_entry_wrap(MateMenuTreeEntry* entry);
+static PyMateMenuTreeSeparator* pymatemenu_tree_separator_wrap(MateMenuTreeSeparator* separator);
+static PyMateMenuTreeHeader* pymatemenu_tree_header_wrap(MateMenuTreeHeader* header);
+static PyMateMenuTreeAlias* pymatemenu_tree_alias_wrap(MateMenuTreeAlias* alias);
+
+static inline PyObject* lookup_item_type_str(const char* item_type_str)
+{
+ PyObject* module;
+
+ module = PyDict_GetItemString(PyImport_GetModuleDict(), "matemenu");
+
+ return PyDict_GetItemString(PyModule_GetDict(module), item_type_str);
+}
+
+static void pymatemenu_tree_item_dealloc(PyMateMenuTreeItem* self)
+{
+ if (self->item != NULL)
+ {
+ matemenu_tree_item_set_user_data(self->item, NULL, NULL);
+ matemenu_tree_item_unref(self->item);
+ self->item = NULL;
+ }
+
+ PyObject_DEL (self);
+}
+
+static PyObject* pymatemenu_tree_item_get_type(PyObject* self, PyObject* args)
+{
+ PyMateMenuTreeItem* item;
+ PyObject* retval;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Item.get_type"))
+ {
+ return NULL;
+ }
+ }
+
+ item = (PyMateMenuTreeItem*) self;
+
+ switch (matemenu_tree_item_get_type(item->item))
+ {
+ case MATEMENU_TREE_ITEM_DIRECTORY:
+ retval = lookup_item_type_str("TYPE_DIRECTORY");
+ break;
+
+ case MATEMENU_TREE_ITEM_ENTRY:
+ retval = lookup_item_type_str("TYPE_ENTRY");
+ break;
+
+ case MATEMENU_TREE_ITEM_SEPARATOR:
+ retval = lookup_item_type_str("TYPE_SEPARATOR");
+ break;
+
+ case MATEMENU_TREE_ITEM_HEADER:
+ retval = lookup_item_type_str("TYPE_HEADER");
+ break;
+
+ case MATEMENU_TREE_ITEM_ALIAS:
+ retval = lookup_item_type_str("TYPE_ALIAS");
+ break;
+
+ default:
+ g_assert_not_reached();
+ break;
+ }
+
+ Py_INCREF(retval);
+
+ return retval;
+}
+
+static PyObject* pymatemenu_tree_item_get_parent(PyObject* self, PyObject* args)
+{
+ PyMateMenuTreeItem* item;
+ MateMenuTreeDirectory* parent;
+ PyMateMenuTreeDirectory* retval;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Item.get_parent"))
+ {
+ return NULL;
+ }
+ }
+
+ item = (PyMateMenuTreeItem*) self;
+
+ parent = matemenu_tree_item_get_parent(item->item);
+
+ if (parent == NULL)
+ {
+ Py_INCREF(Py_None);
+
+ return Py_None;
+ }
+
+ retval = pymatemenu_tree_directory_wrap(parent);
+
+ matemenu_tree_item_unref(parent);
+
+ return (PyObject*) retval;
+}
+
+static struct PyMethodDef pymatemenu_tree_item_methods[] = {
+ {"get_type", pymatemenu_tree_item_get_type, METH_VARARGS},
+ {"get_parent", pymatemenu_tree_item_get_parent, METH_VARARGS},
+ {NULL, NULL, 0}
+};
+
+static PyTypeObject PyMateMenuTreeItem_Type = {
+ PyObject_HEAD_INIT(NULL)
+ 0, /* ob_size */
+ "matemenu.Item", /* tp_name */
+ sizeof(PyMateMenuTreeItem), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ (destructor) pymatemenu_tree_item_dealloc, /* tp_dealloc */
+ (printfunc) 0, /* tp_print */
+ (getattrfunc) 0, /* tp_getattr */
+ (setattrfunc) 0, /* tp_setattr */
+ (cmpfunc) 0, /* tp_compare */
+ (reprfunc) 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ (hashfunc) 0, /* tp_hash */
+ (ternaryfunc) 0, /* tp_call */
+ (reprfunc) 0, /* tp_str */
+ (getattrofunc) 0, /* tp_getattro */
+ (setattrofunc) 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
+ NULL, /* Documentation string */
+ (traverseproc) 0, /* tp_traverse */
+ (inquiry) 0, /* tp_clear */
+ (richcmpfunc) 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ (getiterfunc) 0, /* tp_iter */
+ (iternextfunc) 0, /* tp_iternext */
+ pymatemenu_tree_item_methods, /* tp_methods */
+ 0, /* tp_members */
+ 0, /* tp_getset */
+ (PyTypeObject*) 0, /* tp_base */
+ (PyObject*) 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ (initproc) 0, /* tp_init */
+ 0, /* tp_alloc */
+ 0, /* tp_new */
+ 0, /* tp_free */
+ (inquiry) 0, /* tp_is_gc */
+ (PyObject*) 0, /* tp_bases */
+};
+
+static PyObject* pymatemenu_tree_directory_get_contents(PyObject* self, PyObject* args)
+{
+ PyMateMenuTreeDirectory* directory;
+ PyObject* retval;
+ GSList* contents;
+ GSList* tmp;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Directory.get_contents"))
+ {
+ return NULL;
+ }
+ }
+
+ directory = (PyMateMenuTreeDirectory*) self;
+
+ retval = PyList_New(0);
+
+ contents = matemenu_tree_directory_get_contents(MATEMENU_TREE_DIRECTORY(directory->item));
+
+ tmp = contents;
+
+ while (tmp != NULL)
+ {
+ MateMenuTreeItem* item = tmp->data;
+ PyObject* pyitem;
+
+ switch (matemenu_tree_item_get_type(item))
+ {
+ case MATEMENU_TREE_ITEM_DIRECTORY:
+ pyitem = (PyObject*) pymatemenu_tree_directory_wrap(MATEMENU_TREE_DIRECTORY(item));
+ break;
+
+ case MATEMENU_TREE_ITEM_ENTRY:
+ pyitem = (PyObject*) pymatemenu_tree_entry_wrap(MATEMENU_TREE_ENTRY(item));
+ break;
+
+ case MATEMENU_TREE_ITEM_SEPARATOR:
+ pyitem = (PyObject*) pymatemenu_tree_separator_wrap(MATEMENU_TREE_SEPARATOR(item));
+ break;
+
+ case MATEMENU_TREE_ITEM_HEADER:
+ pyitem = (PyObject*) pymatemenu_tree_header_wrap(MATEMENU_TREE_HEADER(item));
+ break;
+
+ case MATEMENU_TREE_ITEM_ALIAS:
+ pyitem = (PyObject*) pymatemenu_tree_alias_wrap(MATEMENU_TREE_ALIAS(item));
+ break;
+
+ default:
+ g_assert_not_reached();
+ break;
+ }
+
+ PyList_Append(retval, pyitem);
+ Py_DECREF(pyitem);
+
+ matemenu_tree_item_unref(item);
+
+ tmp = tmp->next;
+ }
+
+ g_slist_free(contents);
+
+ return retval;
+}
+
+static PyObject* pymatemenu_tree_directory_get_name(PyObject* self, PyObject* args)
+{
+ PyMateMenuTreeDirectory* directory;
+ const char* name;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Directory.get_name"))
+ {
+ return NULL;
+ }
+ }
+
+ directory = (PyMateMenuTreeDirectory*) self;
+
+ name = matemenu_tree_directory_get_name(MATEMENU_TREE_DIRECTORY(directory->item));
+
+ if (name == NULL)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ return PyString_FromString(name);
+}
+
+static PyObject* pymatemenu_tree_directory_get_comment(PyObject* self, PyObject* args)
+{
+ PyMateMenuTreeDirectory* directory;
+ const char* comment;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Directory.get_comment"))
+ {
+ return NULL;
+ }
+ }
+
+ directory = (PyMateMenuTreeDirectory*) self;
+
+ comment = matemenu_tree_directory_get_comment(MATEMENU_TREE_DIRECTORY(directory->item));
+
+ if (comment == NULL)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ return PyString_FromString(comment);
+}
+
+static PyObject* pymatemenu_tree_directory_get_icon(PyObject* self, PyObject* args)
+{
+ PyMateMenuTreeDirectory* directory;
+ const char* icon;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Directory.get_icon"))
+ {
+ return NULL;
+ }
+ }
+
+ directory = (PyMateMenuTreeDirectory*) self;
+
+ icon = matemenu_tree_directory_get_icon(MATEMENU_TREE_DIRECTORY(directory->item));
+
+ if (icon == NULL)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ return PyString_FromString(icon);
+}
+
+static PyObject* pymatemenu_tree_directory_get_desktop_file_path(PyObject* self, PyObject* args)
+{
+ PyMateMenuTreeDirectory* directory;
+ const char* path;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Directory.get_desktop_file_path"))
+ {
+ return NULL;
+ }
+ }
+
+ directory = (PyMateMenuTreeDirectory*) self;
+
+ path = matemenu_tree_directory_get_desktop_file_path(MATEMENU_TREE_DIRECTORY(directory->item));
+
+ if (path == NULL)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ return PyString_FromString(path);
+}
+
+static PyObject* pymatemenu_tree_directory_get_menu_id(PyObject* self, PyObject* args)
+{
+ PyMateMenuTreeDirectory* directory;
+ const char* menu_id;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Directory.get_menu_id"))
+ {
+ return NULL;
+ }
+ }
+
+ directory = (PyMateMenuTreeDirectory*) self;
+
+ menu_id = matemenu_tree_directory_get_menu_id(MATEMENU_TREE_DIRECTORY(directory->item));
+
+ if (menu_id == NULL)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ return PyString_FromString(menu_id);
+}
+
+static PyObject* pymatemenu_tree_directory_get_tree(PyObject* self, PyObject* args)
+{
+ PyMateMenuTreeDirectory* directory;
+ MateMenuTree* tree;
+ PyMateMenuTree* retval;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Item.get_tree"))
+ {
+ return NULL;
+ }
+ }
+
+ directory = (PyMateMenuTreeDirectory*) self;
+
+ tree = matemenu_tree_directory_get_tree(MATEMENU_TREE_DIRECTORY(directory->item));
+
+ if (tree == NULL)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ retval = pymatemenu_tree_wrap(tree);
+
+ matemenu_tree_unref(tree);
+
+ return (PyObject*) retval;
+}
+
+static PyObject* pymatemenu_tree_directory_make_path(PyObject* self, PyObject* args)
+{
+ PyMateMenuTreeDirectory* directory;
+ PyMateMenuTreeEntry* entry;
+ PyObject* retval;
+ char* path;
+
+ if (!PyArg_ParseTuple(args, "O:matemenu.Directory.make_path", &entry))
+ {
+ return NULL;
+ }
+
+ directory = (PyMateMenuTreeDirectory*) self;
+
+ path = matemenu_tree_directory_make_path(MATEMENU_TREE_DIRECTORY(directory->item), MATEMENU_TREE_ENTRY(entry->item));
+
+ if (path == NULL)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ retval = PyString_FromString(path);
+
+ g_free(path);
+
+ return retval;
+}
+
+static PyObject* pymatemenu_tree_directory_getattro(PyMateMenuTreeDirectory* self, PyObject* py_attr)
+{
+ if (PyString_Check(py_attr))
+ {
+ char* attr;
+
+ attr = PyString_AsString(py_attr);
+
+ if (!strcmp(attr, "__members__"))
+ {
+ return Py_BuildValue("[sssssssss]",
+ "type",
+ "parent",
+ "contents",
+ "name",
+ "comment",
+ "icon",
+ "desktop_file_path",
+ "menu_id",
+ "tree");
+ }
+ else if (!strcmp(attr, "type"))
+ {
+ return pymatemenu_tree_item_get_type((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "parent"))
+ {
+ return pymatemenu_tree_item_get_parent((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "contents"))
+ {
+ return pymatemenu_tree_directory_get_contents((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "name"))
+ {
+ return pymatemenu_tree_directory_get_name((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "comment"))
+ {
+ return pymatemenu_tree_directory_get_comment((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "icon"))
+ {
+ return pymatemenu_tree_directory_get_icon((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "desktop_file_path"))
+ {
+ return pymatemenu_tree_directory_get_desktop_file_path((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "menu_id"))
+ {
+ return pymatemenu_tree_directory_get_menu_id((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "tree"))
+ {
+ return pymatemenu_tree_directory_get_tree((PyObject*) self, NULL);
+ }
+ }
+
+ return PyObject_GenericGetAttr((PyObject*) self, py_attr);
+}
+
+static struct PyMethodDef pymatemenu_tree_directory_methods[] = {
+ {"get_contents", pymatemenu_tree_directory_get_contents, METH_VARARGS},
+ {"get_name", pymatemenu_tree_directory_get_name, METH_VARARGS},
+ {"get_comment", pymatemenu_tree_directory_get_comment, METH_VARARGS},
+ {"get_icon", pymatemenu_tree_directory_get_icon, METH_VARARGS},
+ {"get_desktop_file_path", pymatemenu_tree_directory_get_desktop_file_path, METH_VARARGS},
+ {"get_menu_id", pymatemenu_tree_directory_get_menu_id, METH_VARARGS},
+ {"get_tree", pymatemenu_tree_directory_get_tree, METH_VARARGS},
+ {"make_path", pymatemenu_tree_directory_make_path, METH_VARARGS},
+ {NULL, NULL, 0}
+};
+
+static PyTypeObject PyMateMenuTreeDirectory_Type = {
+ PyObject_HEAD_INIT(NULL)
+ 0, /* ob_size */
+ "matemenu.Directory", /* tp_name */
+ sizeof(PyMateMenuTreeDirectory), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ (destructor) pymatemenu_tree_item_dealloc, /* tp_dealloc */
+ (printfunc) 0, /* tp_print */
+ (getattrfunc) 0, /* tp_getattr */
+ (setattrfunc) 0, /* tp_setattr */
+ (cmpfunc) 0, /* tp_compare */
+ (reprfunc) 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ (hashfunc) 0, /* tp_hash */
+ (ternaryfunc) 0, /* tp_call */
+ (reprfunc) 0, /* tp_str */
+ (getattrofunc) pymatemenu_tree_directory_getattro, /* tp_getattro */
+ (setattrofunc) 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT, /* tp_flags */
+ NULL, /* Documentation string */
+ (traverseproc) 0, /* tp_traverse */
+ (inquiry) 0, /* tp_clear */
+ (richcmpfunc) 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ (getiterfunc) 0, /* tp_iter */
+ (iternextfunc) 0, /* tp_iternext */
+ pymatemenu_tree_directory_methods, /* tp_methods */
+ 0, /* tp_members */
+ 0, /* tp_getset */
+ (PyTypeObject*) 0, /* tp_base */
+ (PyObject*) 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ (initproc) 0, /* tp_init */
+ 0, /* tp_alloc */
+ 0, /* tp_new */
+ 0, /* tp_free */
+ (inquiry) 0, /* tp_is_gc */
+ (PyObject*) 0, /* tp_bases */
+};
+
+static PyMateMenuTreeDirectory* pymatemenu_tree_directory_wrap(MateMenuTreeDirectory* directory)
+{
+ PyMateMenuTreeDirectory* retval;
+
+ if ((retval = matemenu_tree_item_get_user_data(MATEMENU_TREE_ITEM(directory))) != NULL)
+ {
+ Py_INCREF(retval);
+ return retval;
+ }
+
+ if (!(retval = (PyMateMenuTreeDirectory*) PyObject_NEW(PyMateMenuTreeDirectory, &PyMateMenuTreeDirectory_Type)))
+ {
+ return NULL;
+ }
+
+ retval->item = matemenu_tree_item_ref(directory);
+
+ matemenu_tree_item_set_user_data(MATEMENU_TREE_ITEM(directory), retval, NULL);
+
+ return retval;
+}
+
+static PyObject* pymatemenu_tree_entry_get_name(PyObject* self, PyObject* args)
+{
+ PyMateMenuTreeEntry* entry;
+ const char* name;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Entry.get_name"))
+ {
+ return NULL;
+ }
+ }
+
+ entry = (PyMateMenuTreeEntry*) self;
+
+ name = matemenu_tree_entry_get_name(MATEMENU_TREE_ENTRY(entry->item));
+
+ if (name == NULL)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ return PyString_FromString(name);
+}
+
+static PyObject* pymatemenu_tree_entry_get_generic_name(PyObject* self, PyObject* args)
+{
+ PyMateMenuTreeEntry* entry;
+ const char* generic_name;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Entry.get_generic_name"))
+ {
+ return NULL;
+ }
+ }
+
+ entry = (PyMateMenuTreeEntry*) self;
+
+ generic_name = matemenu_tree_entry_get_generic_name(MATEMENU_TREE_ENTRY(entry->item));
+
+ if (generic_name == NULL)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ return PyString_FromString(generic_name);
+}
+
+static PyObject* pymatemenu_tree_entry_get_display_name(PyObject* self, PyObject* args)
+{
+ PyMateMenuTreeEntry* entry;
+ const char* display_name;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Entry.get_display_name"))
+ {
+ return NULL;
+ }
+ }
+
+ entry = (PyMateMenuTreeEntry*) self;
+
+ display_name = matemenu_tree_entry_get_display_name(MATEMENU_TREE_ENTRY(entry->item));
+
+ if (display_name == NULL)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ return PyString_FromString(display_name);
+}
+
+static PyObject* pymatemenu_tree_entry_get_comment(PyObject* self, PyObject* args)
+{
+ PyMateMenuTreeEntry* entry;
+ const char* comment;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Entry.get_comment"))
+ {
+ return NULL;
+ }
+ }
+
+ entry = (PyMateMenuTreeEntry*) self;
+
+ comment = matemenu_tree_entry_get_comment(MATEMENU_TREE_ENTRY(entry->item));
+
+ if (comment == NULL)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ return PyString_FromString(comment);
+}
+
+static PyObject* pymatemenu_tree_entry_get_icon(PyObject* self, PyObject* args)
+{
+ PyMateMenuTreeEntry* entry;
+ const char* icon;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Entry.get_icon"))
+ {
+ return NULL;
+ }
+ }
+
+ entry = (PyMateMenuTreeEntry*) self;
+
+ icon = matemenu_tree_entry_get_icon(MATEMENU_TREE_ENTRY(entry->item));
+
+ if (icon == NULL)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ return PyString_FromString(icon);
+}
+
+static PyObject* pymatemenu_tree_entry_get_exec(PyObject* self, PyObject* args)
+{
+ PyMateMenuTreeEntry* entry;
+ const char* exec;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Entry.get_exec"))
+ {
+ return NULL;
+ }
+ }
+
+ entry = (PyMateMenuTreeEntry*) self;
+
+ exec = matemenu_tree_entry_get_exec(MATEMENU_TREE_ENTRY(entry->item));
+
+ if (exec == NULL)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ return PyString_FromString(exec);
+}
+
+static PyObject* pymatemenu_tree_entry_get_launch_in_terminal(PyObject* self, PyObject* args)
+{
+ PyMateMenuTreeEntry* entry;
+ PyObject* retval;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Entry.get_launch_in_terminal"))
+ {
+ return NULL;
+ }
+ }
+
+ entry = (PyMateMenuTreeEntry*) self;
+
+ if (matemenu_tree_entry_get_launch_in_terminal(MATEMENU_TREE_ENTRY(entry->item)))
+ {
+ retval = Py_True;
+ }
+ else
+ {
+ retval = Py_False;
+ }
+
+ Py_INCREF(retval);
+
+ return retval;
+}
+
+static PyObject* pymatemenu_tree_entry_get_desktop_file_path(PyObject* self, PyObject* args)
+{
+ PyMateMenuTreeEntry* entry;
+ const char* desktop_file_path;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Entry.get_desktop_file_path"))
+ {
+ return NULL;
+ }
+ }
+
+ entry = (PyMateMenuTreeEntry*) self;
+
+ desktop_file_path = matemenu_tree_entry_get_desktop_file_path(MATEMENU_TREE_ENTRY(entry->item));
+
+ if (desktop_file_path == NULL)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ return PyString_FromString(desktop_file_path);
+}
+
+static PyObject* pymatemenu_tree_entry_get_desktop_file_id(PyObject* self, PyObject* args)
+{
+ PyMateMenuTreeEntry* entry;
+ const char* desktop_file_id;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Entry.get_desktop_file_id"))
+ {
+ return NULL;
+ }
+ }
+
+ entry = (PyMateMenuTreeEntry*) self;
+
+ desktop_file_id = matemenu_tree_entry_get_desktop_file_id(MATEMENU_TREE_ENTRY(entry->item));
+
+ if (desktop_file_id == NULL)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ return PyString_FromString(desktop_file_id);
+}
+
+static PyObject* pymatemenu_tree_entry_get_is_excluded(PyObject* self, PyObject* args)
+{
+ PyMateMenuTreeEntry* entry;
+ PyObject* retval;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Entry.get_is_excluded"))
+ {
+ return NULL;
+ }
+ }
+
+ entry = (PyMateMenuTreeEntry*) self;
+
+ retval = matemenu_tree_entry_get_is_excluded(MATEMENU_TREE_ENTRY(entry->item)) ? Py_True : Py_False;
+ Py_INCREF(retval);
+
+ return retval;
+}
+
+static PyObject* pymatemenu_tree_entry_get_is_nodisplay(PyObject* self, PyObject* args)
+{
+ PyMateMenuTreeEntry* entry;
+ PyObject* retval;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Entry.get_is_nodisplay"))
+ {
+ return NULL;
+ }
+ }
+
+ entry = (PyMateMenuTreeEntry*) self;
+
+ if (matemenu_tree_entry_get_is_nodisplay(MATEMENU_TREE_ENTRY(entry->item)))
+ {
+ retval = Py_True;
+ }
+ else
+ {
+ retval = Py_False;
+ }
+
+ Py_INCREF(retval);
+
+ return retval;
+}
+
+static PyObject* pymatemenu_tree_entry_getattro(PyMateMenuTreeEntry* self, PyObject* py_attr)
+{
+ if (PyString_Check(py_attr))
+ {
+ char* attr;
+
+ attr = PyString_AsString(py_attr);
+
+ if (!strcmp(attr, "__members__"))
+ {
+ return Py_BuildValue("[sssssssssss]",
+ "type",
+ "parent",
+ "name",
+ "comment",
+ "icon",
+ "exec_info",
+ "launch_in_terminal",
+ "desktop_file_path",
+ "desktop_file_id",
+ "is_excluded",
+ "is_nodisplay");
+ }
+ else if (!strcmp(attr, "type"))
+ {
+ return pymatemenu_tree_item_get_type((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "parent"))
+ {
+ return pymatemenu_tree_item_get_parent((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "name"))
+ {
+ return pymatemenu_tree_entry_get_name((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "generic_name"))
+ {
+ return pymatemenu_tree_entry_get_generic_name((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "display_name"))
+ {
+ return pymatemenu_tree_entry_get_display_name((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "comment"))
+ {
+ return pymatemenu_tree_entry_get_comment((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "icon"))
+ {
+ return pymatemenu_tree_entry_get_icon((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "exec_info"))
+ {
+ return pymatemenu_tree_entry_get_exec((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "launch_in_terminal"))
+ {
+ return pymatemenu_tree_entry_get_launch_in_terminal((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "desktop_file_path"))
+ {
+ return pymatemenu_tree_entry_get_desktop_file_path((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "desktop_file_id"))
+ {
+ return pymatemenu_tree_entry_get_desktop_file_id((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "is_excluded"))
+ {
+ return pymatemenu_tree_entry_get_is_excluded((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "is_nodisplay"))
+ {
+ return pymatemenu_tree_entry_get_is_nodisplay((PyObject*) self, NULL);
+ }
+ }
+
+ return PyObject_GenericGetAttr((PyObject*) self, py_attr);
+}
+
+static struct PyMethodDef pymatemenu_tree_entry_methods[] = {
+ {"get_name", pymatemenu_tree_entry_get_name, METH_VARARGS},
+ {"get_generic_name", pymatemenu_tree_entry_get_generic_name, METH_VARARGS},
+ {"get_display_name", pymatemenu_tree_entry_get_display_name, METH_VARARGS},
+ {"get_comment", pymatemenu_tree_entry_get_comment, METH_VARARGS},
+ {"get_icon", pymatemenu_tree_entry_get_icon, METH_VARARGS},
+ {"get_exec", pymatemenu_tree_entry_get_exec, METH_VARARGS},
+ {"get_launch_in_terminal", pymatemenu_tree_entry_get_launch_in_terminal, METH_VARARGS},
+ {"get_desktop_file_path", pymatemenu_tree_entry_get_desktop_file_path, METH_VARARGS},
+ {"get_desktop_file_id", pymatemenu_tree_entry_get_desktop_file_id, METH_VARARGS},
+ {"get_is_excluded", pymatemenu_tree_entry_get_is_excluded, METH_VARARGS},
+ {"get_is_nodisplay", pymatemenu_tree_entry_get_is_nodisplay, METH_VARARGS},
+ {NULL, NULL, 0}
+};
+
+static PyTypeObject PyMateMenuTreeEntry_Type = {
+ PyObject_HEAD_INIT(NULL)
+ 0, /* ob_size */
+ "matemenu.Entry", /* tp_name */
+ sizeof(PyMateMenuTreeEntry), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ (destructor) pymatemenu_tree_item_dealloc, /* tp_dealloc */
+ (printfunc) 0, /* tp_print */
+ (getattrfunc) 0, /* tp_getattr */
+ (setattrfunc) 0, /* tp_setattr */
+ (cmpfunc) 0, /* tp_compare */
+ (reprfunc) 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ (hashfunc) 0, /* tp_hash */
+ (ternaryfunc) 0, /* tp_call */
+ (reprfunc) 0, /* tp_str */
+ (getattrofunc) pymatemenu_tree_entry_getattro, /* tp_getattro */
+ (setattrofunc) 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT, /* tp_flags */
+ NULL, /* Documentation string */
+ (traverseproc) 0, /* tp_traverse */
+ (inquiry) 0, /* tp_clear */
+ (richcmpfunc) 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ (getiterfunc) 0, /* tp_iter */
+ (iternextfunc) 0, /* tp_iternext */
+ pymatemenu_tree_entry_methods, /* tp_methods */
+ 0, /* tp_members */
+ 0, /* tp_getset */
+ (PyTypeObject*) 0, /* tp_base */
+ (PyObject*) 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ (initproc) 0, /* tp_init */
+ 0, /* tp_alloc */
+ 0, /* tp_new */
+ 0, /* tp_free */
+ (inquiry) 0, /* tp_is_gc */
+ (PyObject*) 0, /* tp_bases */
+};
+
+static PyMateMenuTreeEntry* pymatemenu_tree_entry_wrap(MateMenuTreeEntry* entry)
+{
+ PyMateMenuTreeEntry* retval;
+
+ if ((retval = matemenu_tree_item_get_user_data(MATEMENU_TREE_ITEM(entry))) != NULL)
+ {
+ Py_INCREF(retval);
+ return retval;
+ }
+
+ if (!(retval = (PyMateMenuTreeEntry*) PyObject_NEW(PyMateMenuTreeEntry, &PyMateMenuTreeEntry_Type)))
+ {
+ return NULL;
+ }
+
+ retval->item = matemenu_tree_item_ref(entry);
+
+ matemenu_tree_item_set_user_data(MATEMENU_TREE_ITEM(entry), retval, NULL);
+
+ return retval;
+}
+
+static PyTypeObject PyMateMenuTreeSeparator_Type = {
+ PyObject_HEAD_INIT(NULL)
+ 0, /* ob_size */
+ "matemenu.Separator", /* tp_name */
+ sizeof(PyMateMenuTreeSeparator), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ (destructor) pymatemenu_tree_item_dealloc, /* tp_dealloc */
+ (printfunc) 0, /* tp_print */
+ (getattrfunc) 0, /* tp_getattr */
+ (setattrfunc) 0, /* tp_setattr */
+ (cmpfunc) 0, /* tp_compare */
+ (reprfunc) 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ (hashfunc) 0, /* tp_hash */
+ (ternaryfunc) 0, /* tp_call */
+ (reprfunc) 0, /* tp_str */
+ (getattrofunc) 0, /* tp_getattro */
+ (setattrofunc) 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT, /* tp_flags */
+ NULL, /* Documentation string */
+ (traverseproc) 0, /* tp_traverse */
+ (inquiry) 0, /* tp_clear */
+ (richcmpfunc) 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ (getiterfunc) 0, /* tp_iter */
+ (iternextfunc) 0, /* tp_iternext */
+ NULL, /* tp_methods */
+ 0, /* tp_members */
+ 0, /* tp_getset */
+ (PyTypeObject*) 0, /* tp_base */
+ (PyObject*) 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ (initproc) 0, /* tp_init */
+ 0, /* tp_alloc */
+ 0, /* tp_new */
+ 0, /* tp_free */
+ (inquiry) 0, /* tp_is_gc */
+ (PyObject*) 0, /* tp_bases */
+};
+
+static PyMateMenuTreeSeparator* pymatemenu_tree_separator_wrap(MateMenuTreeSeparator* separator)
+{
+ PyMateMenuTreeSeparator* retval;
+
+ if ((retval = matemenu_tree_item_get_user_data(MATEMENU_TREE_ITEM(separator))) != NULL)
+ {
+ Py_INCREF(retval);
+ return retval;
+ }
+
+ if (!(retval = (PyMateMenuTreeSeparator*) PyObject_NEW(PyMateMenuTreeSeparator, &PyMateMenuTreeSeparator_Type)))
+ {
+ return NULL;
+ }
+
+ retval->item = matemenu_tree_item_ref(separator);
+
+ matemenu_tree_item_set_user_data(MATEMENU_TREE_ITEM(separator), retval, NULL);
+
+ return retval;
+}
+
+static PyObject* pymatemenu_tree_header_get_directory(PyObject* self, PyObject* args)
+{
+ PyMateMenuTreeHeader* header;
+ MateMenuTreeDirectory* directory;
+ PyMateMenuTreeDirectory* retval;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Header.get_directory"))
+ {
+ return NULL;
+ }
+ }
+
+ header = (PyMateMenuTreeHeader*) self;
+
+ directory = matemenu_tree_header_get_directory(MATEMENU_TREE_HEADER(header->item));
+
+ if (directory == NULL)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ retval = pymatemenu_tree_directory_wrap(directory);
+
+ matemenu_tree_item_unref(directory);
+
+ return (PyObject*) retval;
+}
+
+static PyObject* pymatemenu_tree_header_getattro(PyMateMenuTreeHeader* self, PyObject* py_attr)
+{
+ if (PyString_Check(py_attr))
+ {
+ char* attr;
+
+ attr = PyString_AsString(py_attr);
+
+ if (!strcmp(attr, "__members__"))
+ {
+ return Py_BuildValue("[sss]",
+ "type",
+ "parent",
+ "directory");
+ }
+ else if (!strcmp(attr, "type"))
+ {
+ return pymatemenu_tree_item_get_type((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "parent"))
+ {
+ return pymatemenu_tree_item_get_parent((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "directory"))
+ {
+ return pymatemenu_tree_header_get_directory((PyObject*) self, NULL);
+ }
+ }
+
+ return PyObject_GenericGetAttr((PyObject*) self, py_attr);
+}
+
+static struct PyMethodDef pymatemenu_tree_header_methods[] = {
+ {"get_directory", pymatemenu_tree_header_get_directory, METH_VARARGS},
+ {NULL, NULL, 0}
+};
+
+static PyTypeObject PyMateMenuTreeHeader_Type = {
+ PyObject_HEAD_INIT(NULL)
+ 0, /* ob_size */
+ "matemenu.Header", /* tp_name */
+ sizeof(PyMateMenuTreeHeader), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ (destructor) pymatemenu_tree_item_dealloc, /* tp_dealloc */
+ (printfunc) 0, /* tp_print */
+ (getattrfunc) 0, /* tp_getattr */
+ (setattrfunc) 0, /* tp_setattr */
+ (cmpfunc) 0, /* tp_compare */
+ (reprfunc) 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ (hashfunc) 0, /* tp_hash */
+ (ternaryfunc) 0, /* tp_call */
+ (reprfunc) 0, /* tp_str */
+ (getattrofunc) pymatemenu_tree_header_getattro, /* tp_getattro */
+ (setattrofunc) 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT, /* tp_flags */
+ NULL, /* Documentation string */
+ (traverseproc) 0, /* tp_traverse */
+ (inquiry) 0, /* tp_clear */
+ (richcmpfunc) 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ (getiterfunc) 0, /* tp_iter */
+ (iternextfunc) 0, /* tp_iternext */
+ pymatemenu_tree_header_methods, /* tp_methods */
+ 0, /* tp_members */
+ 0, /* tp_getset */
+ (PyTypeObject*) 0, /* tp_base */
+ (PyObject*) 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ (initproc) 0, /* tp_init */
+ 0, /* tp_alloc */
+ 0, /* tp_new */
+ 0, /* tp_free */
+ (inquiry) 0, /* tp_is_gc */
+ (PyObject*) 0, /* tp_bases */
+};
+
+static PyMateMenuTreeHeader* pymatemenu_tree_header_wrap(MateMenuTreeHeader* header)
+{
+ PyMateMenuTreeHeader* retval;
+
+ if ((retval = matemenu_tree_item_get_user_data(MATEMENU_TREE_ITEM(header))) != NULL)
+ {
+ Py_INCREF(retval);
+ return retval;
+ }
+
+ if (!(retval = (PyMateMenuTreeHeader*) PyObject_NEW(PyMateMenuTreeHeader, &PyMateMenuTreeHeader_Type)))
+ {
+ return NULL;
+ }
+
+ retval->item = matemenu_tree_item_ref(header);
+
+ matemenu_tree_item_set_user_data(MATEMENU_TREE_ITEM(header), retval, NULL);
+
+ return retval;
+}
+
+static PyObject* pymatemenu_tree_alias_get_directory(PyObject*self, PyObject* args)
+{
+ PyMateMenuTreeAlias* alias;
+ MateMenuTreeDirectory* directory;
+ PyMateMenuTreeDirectory* retval;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Alias.get_directory"))
+ {
+ return NULL;
+ }
+ }
+
+ alias = (PyMateMenuTreeAlias*) self;
+
+ directory = matemenu_tree_alias_get_directory(MATEMENU_TREE_ALIAS(alias->item));
+
+ if (directory == NULL)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ retval = pymatemenu_tree_directory_wrap(directory);
+
+ matemenu_tree_item_unref(directory);
+
+ return (PyObject*) retval;
+}
+
+static PyObject* pymatemenu_tree_alias_get_item(PyObject* self, PyObject* args)
+{
+ PyMateMenuTreeAlias* alias;
+ MateMenuTreeItem* item;
+ PyObject* retval;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Alias.get_item"))
+ {
+ return NULL;
+ }
+ }
+
+ alias = (PyMateMenuTreeAlias*) self;
+
+ item = matemenu_tree_alias_get_item(MATEMENU_TREE_ALIAS(alias->item));
+
+ if (item == NULL)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ switch (matemenu_tree_item_get_type(item))
+ {
+ case MATEMENU_TREE_ITEM_DIRECTORY:
+ retval = (PyObject*) pymatemenu_tree_directory_wrap(MATEMENU_TREE_DIRECTORY(item));
+ break;
+
+ case MATEMENU_TREE_ITEM_ENTRY:
+ retval = (PyObject*) pymatemenu_tree_entry_wrap(MATEMENU_TREE_ENTRY(item));
+ break;
+
+ default:
+ g_assert_not_reached();
+ break;
+ }
+
+ matemenu_tree_item_unref(item);
+
+ return retval;
+}
+
+static PyObject* pymatemenu_tree_alias_getattro(PyMateMenuTreeAlias* self, PyObject* py_attr)
+{
+ if (PyString_Check(py_attr))
+ {
+ char* attr;
+
+ attr = PyString_AsString(py_attr);
+
+ if (!strcmp(attr, "__members__"))
+ {
+ return Py_BuildValue("[ssss]",
+ "type",
+ "parent",
+ "directory",
+ "item");
+ }
+ else if (!strcmp(attr, "type"))
+ {
+ return pymatemenu_tree_item_get_type((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "parent"))
+ {
+ return pymatemenu_tree_item_get_parent((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "directory"))
+ {
+ return pymatemenu_tree_alias_get_directory((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "item"))
+ {
+ return pymatemenu_tree_alias_get_item((PyObject*) self, NULL);
+ }
+ }
+
+ return PyObject_GenericGetAttr((PyObject*) self, py_attr);
+}
+
+static struct PyMethodDef pymatemenu_tree_alias_methods[] = {
+ {"get_directory", pymatemenu_tree_alias_get_directory, METH_VARARGS},
+ {"get_item", pymatemenu_tree_alias_get_item, METH_VARARGS},
+ {NULL, NULL, 0}
+};
+
+static PyTypeObject PyMateMenuTreeAlias_Type = {
+ PyObject_HEAD_INIT(NULL)
+ 0, /* ob_size */
+ "matemenu.Alias", /* tp_name */
+ sizeof(PyMateMenuTreeAlias), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ (destructor) pymatemenu_tree_item_dealloc, /* tp_dealloc */
+ (printfunc) 0, /* tp_print */
+ (getattrfunc) 0, /* tp_getattr */
+ (setattrfunc) 0, /* tp_setattr */
+ (cmpfunc) 0, /* tp_compare */
+ (reprfunc) 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ (hashfunc) 0, /* tp_hash */
+ (ternaryfunc) 0, /* tp_call */
+ (reprfunc) 0, /* tp_str */
+ (getattrofunc) pymatemenu_tree_alias_getattro, /* tp_getattro */
+ (setattrofunc) 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT, /* tp_flags */
+ NULL, /* Documentation string */
+ (traverseproc) 0, /* tp_traverse */
+ (inquiry) 0, /* tp_clear */
+ (richcmpfunc) 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ (getiterfunc) 0, /* tp_iter */
+ (iternextfunc) 0, /* tp_iternext */
+ pymatemenu_tree_alias_methods, /* tp_methods */
+ 0, /* tp_members */
+ 0, /* tp_getset */
+ (PyTypeObject*) 0, /* tp_base */
+ (PyObject*) 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ (initproc) 0, /* tp_init */
+ 0, /* tp_alloc */
+ 0, /* tp_new */
+ 0, /* tp_free */
+ (inquiry) 0, /* tp_is_gc */
+ (PyObject*) 0, /* tp_bases */
+};
+
+static PyMateMenuTreeAlias* pymatemenu_tree_alias_wrap(MateMenuTreeAlias* alias)
+{
+ PyMateMenuTreeAlias* retval;
+
+ if ((retval = matemenu_tree_item_get_user_data(MATEMENU_TREE_ITEM(alias))) != NULL)
+ {
+ Py_INCREF(retval);
+ return retval;
+ }
+
+ if (!(retval = (PyMateMenuTreeAlias*) PyObject_NEW(PyMateMenuTreeAlias, &PyMateMenuTreeAlias_Type)))
+ {
+ return NULL;
+ }
+
+ retval->item = matemenu_tree_item_ref(alias);
+
+ matemenu_tree_item_set_user_data(MATEMENU_TREE_ITEM(alias), retval, NULL);
+
+ return retval;
+}
+
+static PyObject* pymatemenu_tree_get_menu_file(PyObject* self, PyObject* args)
+{
+ PyMateMenuTree* tree;
+ const char* menu_file;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Tree.get_menu_file"))
+ {
+ return NULL;
+ }
+ }
+
+ tree = (PyMateMenuTree*) self;
+
+ menu_file = matemenu_tree_get_menu_file(tree->tree);
+
+ if (menu_file == NULL)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ return PyString_FromString(menu_file);
+}
+
+static PyObject* pymatemenu_tree_get_root_directory(PyObject* self, PyObject* args)
+{
+ PyMateMenuTree* tree;
+ MateMenuTreeDirectory* directory;
+ PyMateMenuTreeDirectory* retval;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Tree.get_root_directory"))
+ {
+ return NULL;
+ }
+ }
+
+ tree = (PyMateMenuTree*) self;
+
+ directory = matemenu_tree_get_root_directory(tree->tree);
+
+ if (directory == NULL)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ retval = pymatemenu_tree_directory_wrap (directory);
+
+ matemenu_tree_item_unref(directory);
+
+ return (PyObject*) retval;
+}
+
+static PyObject* pymatemenu_tree_get_directory_from_path(PyObject* self, PyObject* args)
+{
+ PyMateMenuTree* tree;
+ MateMenuTreeDirectory* directory;
+ PyMateMenuTreeDirectory* retval;
+ char* path;
+
+ if (!PyArg_ParseTuple(args, "s:matemenu.Tree.get_directory_from_path", &path))
+ {
+ return NULL;
+ }
+
+ tree = (PyMateMenuTree*) self;
+
+ directory = matemenu_tree_get_directory_from_path(tree->tree, path);
+
+ if (directory == NULL)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ retval = pymatemenu_tree_directory_wrap(directory);
+
+ matemenu_tree_item_unref(directory);
+
+ return (PyObject*) retval;
+}
+
+static PyObject* pymatemenu_tree_get_sort_key(PyObject* self, PyObject* args)
+{
+ PyMateMenuTree* tree;
+ PyObject* retval;
+
+ if (args != NULL)
+ {
+ if (!PyArg_ParseTuple(args, ":matemenu.Tree.get_sort_key"))
+ {
+ return NULL;
+ }
+ }
+
+ tree = (PyMateMenuTree*) self;
+
+ switch (matemenu_tree_get_sort_key(tree->tree))
+ {
+ case MATEMENU_TREE_SORT_NAME:
+ retval = lookup_item_type_str("SORT_NAME");
+ break;
+
+ case MATEMENU_TREE_SORT_DISPLAY_NAME:
+ retval = lookup_item_type_str("SORT_DISPLAY_NAME");
+ break;
+
+ default:
+ g_assert_not_reached();
+ break;
+ }
+
+ return (PyObject*) retval;
+}
+
+static PyObject* pymatemenu_tree_set_sort_key(PyObject* self, PyObject* args)
+{
+ PyMateMenuTree* tree;
+ int sort_key;
+
+ if (!PyArg_ParseTuple(args, "i:matemenu.Tree.set_sort_key", &sort_key))
+ {
+ return NULL;
+ }
+
+ tree = (PyMateMenuTree*) self;
+
+ matemenu_tree_set_sort_key(tree->tree, sort_key);
+
+ return Py_None;
+}
+
+static PyMateMenuTreeCallback* pymatemenu_tree_callback_new(PyObject* tree, PyObject* callback, PyObject* user_data)
+{
+ PyMateMenuTreeCallback* retval;
+
+ retval = g_new0(PyMateMenuTreeCallback, 1);
+
+ Py_INCREF(tree);
+ retval->tree = tree;
+
+ Py_INCREF(callback);
+ retval->callback = callback;
+
+ Py_XINCREF(user_data);
+ retval->user_data = user_data;
+
+ return retval;
+}
+
+static void pymatemenu_tree_callback_free(PyMateMenuTreeCallback* callback)
+{
+ Py_XDECREF(callback->user_data);
+ callback->user_data = NULL;
+
+ Py_DECREF(callback->callback);
+ callback->callback = NULL;
+
+ Py_DECREF(callback->tree);
+ callback->tree = NULL;
+
+ g_free(callback);
+}
+
+static void pymatemenu_tree_handle_monitor_callback(MateMenuTree* tree, PyMateMenuTreeCallback* callback)
+{
+ PyObject* args;
+ PyObject* ret;
+ PyGILState_STATE gstate;
+
+ gstate = PyGILState_Ensure();
+
+ args = PyTuple_New(callback->user_data ? 2 : 1);
+
+ Py_INCREF(callback->tree);
+ PyTuple_SET_ITEM(args, 0, callback->tree);
+
+ if (callback->user_data != NULL)
+ {
+ Py_INCREF(callback->user_data);
+ PyTuple_SET_ITEM(args, 1, callback->user_data);
+ }
+
+ ret = PyObject_CallObject(callback->callback, args);
+
+ Py_XDECREF(ret);
+ Py_DECREF(args);
+
+ PyGILState_Release(gstate);
+}
+
+static PyObject* pymatemenu_tree_add_monitor(PyObject* self, PyObject* args)
+{
+ PyMateMenuTree* tree;
+ PyMateMenuTreeCallback* callback;
+ PyObject* pycallback;
+ PyObject* pyuser_data = NULL;
+
+ if (!PyArg_ParseTuple(args, "O|O:matemenu.Tree.add_monitor", &pycallback, &pyuser_data))
+ {
+ return NULL;
+ }
+
+ if (!PyCallable_Check(pycallback))
+ {
+ PyErr_SetString(PyExc_TypeError, "callback must be callable");
+ return NULL;
+ }
+
+ tree = (PyMateMenuTree*) self;
+
+ callback = pymatemenu_tree_callback_new(self, pycallback, pyuser_data);
+
+ tree->callbacks = g_slist_append(tree->callbacks, callback);
+
+ {
+ MateMenuTreeDirectory* dir = matemenu_tree_get_root_directory(tree->tree);
+ if (dir)
+ {
+ matemenu_tree_item_unref(dir);
+ }
+ }
+
+ matemenu_tree_add_monitor(tree->tree, (MateMenuTreeChangedFunc) pymatemenu_tree_handle_monitor_callback, callback);
+
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+
+static PyObject* pymatemenu_tree_remove_monitor(PyObject* self, PyObject* args)
+{
+ PyMateMenuTree* tree;
+ PyObject* pycallback;
+ PyObject* pyuser_data;
+ GSList* tmp;
+
+ if (!PyArg_ParseTuple(args, "O|O:matemenu.Tree.remove_monitor", &pycallback, &pyuser_data))
+ {
+ return NULL;
+ }
+
+ tree = (PyMateMenuTree*) self;
+
+ tmp = tree->callbacks;
+
+ while (tmp != NULL)
+ {
+ PyMateMenuTreeCallback* callback = tmp->data;
+ GSList* next = tmp->next;
+
+ if (callback->callback == pycallback && callback->user_data == pyuser_data)
+ {
+ tree->callbacks = g_slist_delete_link(tree->callbacks, tmp);
+ pymatemenu_tree_callback_free(callback);
+ }
+
+ tmp = next;
+ }
+
+ Py_INCREF(Py_None);
+
+ return Py_None;
+}
+
+static void pymatemenu_tree_dealloc(PyMateMenuTree* self)
+{
+ g_slist_foreach(self->callbacks, (GFunc) pymatemenu_tree_callback_free, NULL);
+ g_slist_free(self->callbacks);
+ self->callbacks = NULL;
+
+ if (self->tree != NULL)
+ {
+ matemenu_tree_unref(self->tree);
+ }
+
+ self->tree = NULL;
+
+ PyObject_DEL(self);
+}
+
+static PyObject* pymatemenu_tree_getattro(PyMateMenuTree* self, PyObject* py_attr)
+{
+ if (PyString_Check(py_attr))
+ {
+ char* attr;
+
+ attr = PyString_AsString(py_attr);
+
+ if (!strcmp(attr, "__members__"))
+ {
+ return Py_BuildValue("[sss]", "root", "menu_file", "sort_key");
+ }
+ else if (!strcmp(attr, "root"))
+ {
+ return pymatemenu_tree_get_root_directory((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "menu_file"))
+ {
+ return pymatemenu_tree_get_menu_file((PyObject*) self, NULL);
+ }
+ else if (!strcmp(attr, "sort_key"))
+ {
+ return pymatemenu_tree_get_sort_key((PyObject*) self, NULL);
+ }
+ }
+
+ return PyObject_GenericGetAttr((PyObject*) self, py_attr);
+}
+
+static int pymatemenu_tree_setattro(PyMateMenuTree* self, PyObject* py_attr, PyObject* py_value)
+{
+ PyMateMenuTree* tree;
+
+ tree = (PyMateMenuTree*) self;
+
+ if (PyString_Check(py_attr))
+ {
+ char* attr;
+
+ attr = PyString_AsString(py_attr);
+
+ if (!strcmp(attr, "sort_key"))
+ {
+ if (PyInt_Check(py_value))
+ {
+ int sort_key;
+
+ sort_key = PyInt_AsLong(py_value);
+
+ if (sort_key < MATEMENU_TREE_SORT_FIRST || sort_key > MATEMENU_TREE_SORT_LAST)
+ {
+ return -1;
+ }
+
+ matemenu_tree_set_sort_key(tree->tree, sort_key);
+
+ return 0;
+ }
+ }
+ }
+
+ return -1;
+}
+
+static struct PyMethodDef pymatemenu_tree_methods[] = {
+ {"get_menu_file", pymatemenu_tree_get_menu_file, METH_VARARGS},
+ {"get_root_directory", pymatemenu_tree_get_root_directory, METH_VARARGS},
+ {"get_directory_from_path", pymatemenu_tree_get_directory_from_path, METH_VARARGS},
+ {"get_sort_key", pymatemenu_tree_get_sort_key, METH_VARARGS},
+ {"set_sort_key", pymatemenu_tree_set_sort_key, METH_VARARGS},
+ {"add_monitor", pymatemenu_tree_add_monitor, METH_VARARGS},
+ {"remove_monitor", pymatemenu_tree_remove_monitor, METH_VARARGS},
+ {NULL, NULL, 0}
+};
+
+static PyTypeObject PyMateMenuTree_Type = {
+ PyObject_HEAD_INIT(NULL)
+ 0, /* ob_size */
+ "matemenu.Tree", /* tp_name */
+ sizeof(PyMateMenuTree), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ (destructor) pymatemenu_tree_dealloc, /* tp_dealloc */
+ (printfunc) 0, /* tp_print */
+ (getattrfunc) 0, /* tp_getattr */
+ (setattrfunc) 0, /* tp_setattr */
+ (cmpfunc) 0, /* tp_compare */
+ (reprfunc) 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ (hashfunc) 0, /* tp_hash */
+ (ternaryfunc) 0, /* tp_call */
+ (reprfunc) 0, /* tp_str */
+ (getattrofunc) pymatemenu_tree_getattro, /* tp_getattro */
+ (setattrofunc) pymatemenu_tree_setattro, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT, /* tp_flags */
+ NULL, /* Documentation string */
+ (traverseproc) 0, /* tp_traverse */
+ (inquiry) 0, /* tp_clear */
+ (richcmpfunc) 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ (getiterfunc) 0, /* tp_iter */
+ (iternextfunc) 0, /* tp_iternext */
+ pymatemenu_tree_methods, /* tp_methods */
+ 0, /* tp_members */
+ 0, /* tp_getset */
+ (PyTypeObject*) 0, /* tp_base */
+ (PyObject*) 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ (initproc) 0, /* tp_init */
+ 0, /* tp_alloc */
+ 0, /* tp_new */
+ 0, /* tp_free */
+ (inquiry) 0, /* tp_is_gc */
+ (PyObject*) 0, /* tp_bases */
+};
+
+static PyMateMenuTree* pymatemenu_tree_wrap(MateMenuTree* tree)
+{
+ PyMateMenuTree* retval;
+
+ if ((retval = matemenu_tree_get_user_data(tree)) != NULL)
+ {
+ Py_INCREF(retval);
+ return retval;
+ }
+
+ if (!(retval = (PyMateMenuTree*) PyObject_NEW(PyMateMenuTree, &PyMateMenuTree_Type)))
+ {
+ return NULL;
+ }
+
+ retval->tree = matemenu_tree_ref(tree);
+ retval->callbacks = NULL;
+
+ matemenu_tree_set_user_data(tree, retval, NULL);
+
+ return retval;
+}
+
+static PyObject* pymatemenu_lookup_tree(PyObject* self, PyObject* args)
+{
+ char* menu_file;
+
+ MateMenuTree* tree;
+ PyMateMenuTree* retval;
+ int flags;
+
+ flags = MATEMENU_TREE_FLAGS_NONE;
+
+ if (!PyArg_ParseTuple(args, "s|i:matemenu.lookup_tree", &menu_file, &flags))
+ {
+ return NULL;
+ }
+
+ if (!(tree = matemenu_tree_lookup(menu_file, flags)))
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ retval = pymatemenu_tree_wrap(tree);
+
+ matemenu_tree_unref(tree);
+
+ return (PyObject*) retval;
+}
+
+static struct PyMethodDef pymatemenu_methods[] = {
+ {"lookup_tree", pymatemenu_lookup_tree, METH_VARARGS},
+ {NULL, NULL, 0 }
+};
+
+void initmatemenu(void);
+
+DL_EXPORT(void) initmatemenu(void)
+{
+ PyObject* mod;
+
+ mod = Py_InitModule4("matemenu", pymatemenu_methods, 0, 0, PYTHON_API_VERSION);
+
+ #define REGISTER_TYPE(t, n) G_STMT_START \
+ { \
+ t.ob_type = &PyType_Type; \
+ PyType_Ready(&t); \
+ PyModule_AddObject(mod, n, (PyObject*) &t); \
+ } G_STMT_END
+
+ REGISTER_TYPE(PyMateMenuTree_Type, "Tree");
+ REGISTER_TYPE(PyMateMenuTreeItem_Type, "Item");
+
+ #define REGISTER_ITEM_TYPE(t, n) G_STMT_START \
+ { \
+ t.ob_type = &PyType_Type; \
+ t.tp_base = &PyMateMenuTreeItem_Type; \
+ PyType_Ready(&t); \
+ PyModule_AddObject(mod, n, (PyObject*) &t); \
+ } G_STMT_END
+
+ REGISTER_ITEM_TYPE(PyMateMenuTreeDirectory_Type, "Directory");
+ REGISTER_ITEM_TYPE(PyMateMenuTreeEntry_Type, "Entry");
+ REGISTER_ITEM_TYPE(PyMateMenuTreeSeparator_Type, "Separator");
+ REGISTER_ITEM_TYPE(PyMateMenuTreeHeader_Type, "Header");
+ REGISTER_ITEM_TYPE(PyMateMenuTreeAlias_Type, "Alias");
+
+ PyModule_AddIntConstant(mod, "TYPE_INVALID", MATEMENU_TREE_ITEM_INVALID);
+ PyModule_AddIntConstant(mod, "TYPE_DIRECTORY", MATEMENU_TREE_ITEM_DIRECTORY);
+ PyModule_AddIntConstant(mod, "TYPE_ENTRY", MATEMENU_TREE_ITEM_ENTRY);
+ PyModule_AddIntConstant(mod, "TYPE_SEPARATOR", MATEMENU_TREE_ITEM_SEPARATOR);
+ PyModule_AddIntConstant(mod, "TYPE_HEADER", MATEMENU_TREE_ITEM_HEADER);
+ PyModule_AddIntConstant(mod, "TYPE_ALIAS", MATEMENU_TREE_ITEM_ALIAS);
+
+ PyModule_AddIntConstant(mod, "FLAGS_NONE", MATEMENU_TREE_FLAGS_NONE);
+ PyModule_AddIntConstant(mod, "FLAGS_INCLUDE_EXCLUDED", MATEMENU_TREE_FLAGS_INCLUDE_EXCLUDED);
+ PyModule_AddIntConstant(mod, "FLAGS_SHOW_EMPTY", MATEMENU_TREE_FLAGS_SHOW_EMPTY);
+ PyModule_AddIntConstant(mod, "FLAGS_INCLUDE_NODISPLAY", MATEMENU_TREE_FLAGS_INCLUDE_NODISPLAY);
+ PyModule_AddIntConstant(mod, "FLAGS_SHOW_ALL_SEPARATORS", MATEMENU_TREE_FLAGS_SHOW_ALL_SEPARATORS);
+
+ PyModule_AddIntConstant(mod, "SORT_NAME", MATEMENU_TREE_SORT_NAME);
+ PyModule_AddIntConstant(mod, "SORT_DISPLAY_NAME", MATEMENU_TREE_SORT_DISPLAY_NAME);
+}
diff --git a/util/Makefile.am b/util/Makefile.am
new file mode 100644
index 0000000..ad61301
--- /dev/null
+++ b/util/Makefile.am
@@ -0,0 +1,31 @@
+noinst_PROGRAMS = mate-menu-spec-test
+
+AM_CPPFLAGS = \
+ $(GLIB_CFLAGS) \
+ -I$(srcdir)/../libmenu \
+ -DMATEMENU_I_KNOW_THIS_IS_UNSTABLE \
+ -DMATELOCALEDIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
+ $(DISABLE_DEPRECATED_CFLAGS) \
+ $(DEBUG_CFLAGS)
+
+AM_CFLAGS = $(WARN_CFLAGS)
+
+mate_menu_spec_test_SOURCES = \
+ test-menu-spec.c
+
+mate_menu_spec_test_LDADD = \
+ $(GLIB_LIBS) \
+ ../libmenu/libmate-menu.la
+
+if HAVE_PYTHON
+pyexampledir = $(pkgdatadir)/examples
+pyexample_DATA = mate-menus-ls.py
+else
+pyexampledir =
+pyexample_DATA =
+endif
+
+EXTRA_DIST = $(pyexample_DATA)
+
+-include $(top_srcdir)/git.mk
+
diff --git a/util/mate-menus-ls.py b/util/mate-menus-ls.py
new file mode 100644
index 0000000..ec6ef4b
--- /dev/null
+++ b/util/mate-menus-ls.py
@@ -0,0 +1,94 @@
+# vim: set ts=4 sw=4 et:
+
+#
+# Copyright (C) 2008 Novell, Inc.
+#
+# Authors: Vincent Untz <[email protected]>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+
+import optparse
+import sys
+
+import matemenu
+
+def print_entry(entry, path):
+ if entry.get_is_excluded():
+ excluded = ' <excluded>'
+ else:
+ excluded = ''
+
+ print '%s\t%s\t%s%s' % (path, entry.get_desktop_file_id(), entry.get_desktop_file_path(), excluded)
+
+def print_directory(dir, parent_path = None):
+ if not parent_path:
+ path = '/'
+ else:
+ path = '%s%s/' % (parent_path, dir.get_name())
+
+ for item in dir.get_contents():
+ type = item.get_type()
+ if type == matemenu.TYPE_ENTRY:
+ print_entry(item, path)
+ elif type == matemenu.TYPE_DIRECTORY:
+ print_directory(item, path)
+ elif type == matemenu.TYPE_ALIAS:
+ aliased = item.get_item()
+ if aliased.get_type() == matemenu.TYPE_ENTRY:
+ print_entry(aliased, path)
+ elif type in [ matemenu.TYPE_HEADER, matemenu.TYPE_SEPARATOR ]:
+ pass
+ else:
+ print >> sys.stderr, 'Unsupported item type: %s' % type
+
+def main(args):
+ parser = optparse.OptionParser()
+
+ parser.add_option('-f', '--file', dest='file',
+ help='Menu file')
+ parser.add_option('-i', '--include-excluded', dest='exclude',
+ action='store_true', default=False,
+ help='Include <Exclude>d entries')
+ parser.add_option('-n', '--include-nodisplay', dest='nodisplay',
+ action='store_true', default=False,
+ help='Include NoDisplay=true entries')
+
+ (options, args) = parser.parse_args()
+
+ if options.file:
+ menu_file = options.file
+ else:
+ menu_file = 'mate-applications.menu'
+
+ flags = matemenu.FLAGS_NONE
+ if options.exclude:
+ flags |= matemenu.FLAGS_INCLUDE_EXCLUDED
+ if options.nodisplay:
+ flags |= matemenu.FLAGS_INCLUDE_NODISPLAY
+
+ tree = matemenu.lookup_tree(menu_file, flags)
+ root = tree.get_root_directory()
+
+ if not root:
+ print 'Menu tree is empty'
+ else:
+ print_directory(root)
+
+if __name__ == '__main__':
+ try:
+ main(sys.argv)
+ except KeyboardInterrupt:
+ pass
diff --git a/util/test-menu-spec.c b/util/test-menu-spec.c
new file mode 100644
index 0000000..e67c0f4
--- /dev/null
+++ b/util/test-menu-spec.c
@@ -0,0 +1,225 @@
+/*
+ * Copyright (C) 2004 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <config.h>
+
+#include "matemenu-tree.h"
+
+#include <string.h>
+
+/* This is only a test program, so we don't need translations. Still keep the
+ * infrastructure in place in case we suddenly decide we want to localize this
+ * program. Don't forget to reenable the call to bindtextdomain() if going back
+ * to real localization. */
+#define _(x) x
+#define N_(x) x
+
+static char* menu_file = NULL;
+static gboolean monitor = FALSE;
+static gboolean include_excluded = FALSE;
+static gboolean include_nodisplay = FALSE;
+
+static GOptionEntry options[] = {
+ {"file", 'f', 0, G_OPTION_ARG_STRING, &menu_file, N_("Menu file"), N_("MENU_FILE")},
+ {"monitor", 'm', 0, G_OPTION_ARG_NONE, &monitor, N_("Monitor for menu changes"), NULL},
+ {"include-excluded", 'i', 0, G_OPTION_ARG_NONE, &include_excluded, N_("Include <Exclude>d entries"), NULL},
+ {"include-nodisplay", 'n', 0, G_OPTION_ARG_NONE, &include_nodisplay, N_("Include NoDisplay=true entries"), NULL},
+ {NULL}
+};
+
+static void append_directory_path(MateMenuTreeDirectory* directory, GString* path)
+{
+ MateMenuTreeDirectory* parent = matemenu_tree_item_get_parent(MATEMENU_TREE_ITEM(directory));
+
+ if (!parent)
+ {
+ g_string_append_c(path, '/');
+ return;
+ }
+
+ append_directory_path(parent, path);
+
+ g_string_append(path, matemenu_tree_directory_get_name(directory));
+ g_string_append_c(path, '/');
+
+ matemenu_tree_item_unref(parent);
+}
+
+static char* make_path(MateMenuTreeDirectory* directory)
+{
+ g_return_val_if_fail(directory != NULL, NULL);
+
+ GString* path = g_string_new(NULL);
+
+ append_directory_path(directory, path);
+
+ return g_string_free(path, FALSE);
+}
+
+static void print_entry(MateMenuTreeEntry* entry, const char* path)
+{
+ char* utf8_path = g_filename_to_utf8(matemenu_tree_entry_get_desktop_file_path(entry), -1, NULL, NULL, NULL);
+ char* utf8_file_id = g_filename_to_utf8(matemenu_tree_entry_get_desktop_file_id(entry), -1, NULL, NULL, NULL);
+
+ g_print("%s %s %s%s%s\n",
+ path,
+ utf8_file_id ? utf8_file_id : _("Invalid desktop file ID"),
+ utf8_path ? utf8_path : _("[Invalid Filename]"),
+ matemenu_tree_entry_get_is_excluded(entry) ? _(" <excluded>") : "",
+ matemenu_tree_entry_get_is_nodisplay(entry) ? _(" <nodisplay>") : "");
+
+ g_free(utf8_file_id);
+ g_free(utf8_path);
+}
+
+static void print_directory(MateMenuTreeDirectory* directory)
+{
+ const char* path;
+ char* freeme = make_path(directory);
+
+ if (!strcmp(freeme, "/"))
+ {
+ path = freeme;
+ }
+ else
+ {
+ path = freeme + 1;
+ }
+
+ GSList* items = matemenu_tree_directory_get_contents(directory);
+ GSList* tmp = items;
+
+ while (tmp != NULL)
+ {
+ MateMenuTreeItem* item = tmp->data;
+
+ switch (matemenu_tree_item_get_type(item))
+ {
+ case MATEMENU_TREE_ITEM_ENTRY:
+ print_entry(MATEMENU_TREE_ENTRY(item), path);
+ break;
+
+ case MATEMENU_TREE_ITEM_DIRECTORY:
+ print_directory(MATEMENU_TREE_DIRECTORY(item));
+ break;
+
+ case MATEMENU_TREE_ITEM_HEADER:
+ case MATEMENU_TREE_ITEM_SEPARATOR:
+ break;
+
+ case MATEMENU_TREE_ITEM_ALIAS:
+ {
+ MateMenuTreeItem* aliased_item = matemenu_tree_alias_get_item(MATEMENU_TREE_ALIAS(item));
+
+ if (matemenu_tree_item_get_type(aliased_item) == MATEMENU_TREE_ITEM_ENTRY)
+ {
+ print_entry(MATEMENU_TREE_ENTRY(aliased_item), path);
+ }
+ }
+ break;
+
+ default:
+ g_assert_not_reached();
+ break;
+ }
+
+ matemenu_tree_item_unref(tmp->data);
+
+ tmp = tmp->next;
+ }
+
+ g_slist_free(items);
+
+ g_free(freeme);
+}
+
+static void handle_tree_changed(MateMenuTree* tree)
+{
+ g_print(_("\n\n\n==== Menu changed, reloading ====\n\n\n"));
+
+ MateMenuTreeDirectory* root = matemenu_tree_get_root_directory(tree);
+
+ if (root == NULL)
+ {
+ g_warning(_("Menu tree is empty"));
+ return;
+ }
+
+ print_directory(root);
+ matemenu_tree_item_unref(root);
+}
+
+int main(int argc, char** argv)
+{
+ #if 0
+ /* See comment when defining _() at the top of this file. */
+ bindtextdomain(GETTEXT_PACKAGE, MATELOCALEDIR);
+ bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
+ textdomain(GETTEXT_PACKAGE);
+ #endif
+
+ GOptionContext* options_context = g_option_context_new(_("- test MATE's implementation of the Desktop Menu Specification"));
+ g_option_context_add_main_entries(options_context, options, GETTEXT_PACKAGE);
+ g_option_context_parse(options_context, &argc, &argv, NULL);
+ g_option_context_free(options_context);
+
+ MateMenuTreeFlags flags = MATEMENU_TREE_FLAGS_NONE;
+
+ if (include_excluded)
+ {
+ flags |= MATEMENU_TREE_FLAGS_INCLUDE_EXCLUDED;
+ }
+
+ if (include_nodisplay)
+ {
+ flags |= MATEMENU_TREE_FLAGS_INCLUDE_NODISPLAY;
+ }
+
+ // Usamos applications.menu is existe. Para compatibilidad con GNOME
+ MateMenuTree* tree = matemenu_tree_lookup(menu_file ? menu_file : "mate-applications.menu", flags);
+
+ g_assert(tree != NULL);
+
+ MateMenuTreeDirectory* root = matemenu_tree_get_root_directory(tree);
+
+ if (root != NULL)
+ {
+ print_directory(root);
+ matemenu_tree_item_unref(root);
+ }
+ else
+ {
+ g_warning(_("Menu tree is empty"));
+ }
+
+ if (monitor)
+ {
+ matemenu_tree_add_monitor(tree, (MateMenuTreeChangedFunc) handle_tree_changed, NULL);
+
+ GMainLoop* main_loop = g_main_loop_new(NULL, FALSE);
+ g_main_loop_run(main_loop);
+ g_main_loop_unref(main_loop);
+
+ matemenu_tree_remove_monitor(tree, (MateMenuTreeChangedFunc) handle_tree_changed, NULL);
+ }
+
+ matemenu_tree_unref(tree);
+
+ return 0;
+}